DROP ROLE#

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 использует.

См. также

CREATE ROLE, ALTER ROLE, SET ROLE