DROP ROLE
DROP ROLE — удалить роль в базе данных
Синтаксис
DROP ROLE [ IF EXISTS ] имя [, ...]
Описание
Команда DROP ROLE
удаляет заданную(ые) роль(и). Чтобы удалить роль
суперпользователя, нужно самому быть суперпользователем; чтобы удалять обычные
роли, нужно иметь право CREATEROLE.
Роль нельзя удалить, если на нее все еще есть ссылки в любой базе данных кластера;
в этом случае возникнет ошибка. Перед удалением роли необходимо удалить все
принадлежащие ей объекты (или сменить их владельца) и отозвать все права,
предоставленные этой роли для других объектов. Для этой цели могут быть полезны
команды REASSIGN OWNED
и DROP OWNED
; дополнительную информацию см. в разделе
Удаление ролей.
Тем не менее нет необходимости удалять членство в ролях, включающее эту роль;
DROP ROLE
автоматически отзывает любое членство целевой роли в других ролях и
каких-либо других ролей в целевой роли. Другие роли при этом не удаляются и не
затрагиваются иным образом.
Параметры
IF EXISTS
Не считать ошибкой, если эта роль не существует. В этом случае выдается только замечание.
имя
Имя удаляемой роли.
Примечания
QHB включает в себя утилиту dropuser, которая имеет ту же функциональность, что и эта команда (фактически она вызывает эту команду), но может быть запущена из командной оболочки.
Примеры
Удаление роли:
DROP ROLE jonathan;
Совместимость
В стандарте SQL описана команда DROP ROLE
, но она позволяет удалять только одну
роль за раз и определяет требования к правам, отличные от применяемых в
QHB.