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