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