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.