DROP ROLE

Удаление роли базы данных.

Синтаксис

DROP ROLE [IF EXISTS] name [, ...]

Описание

DROP ROLE удаляет указанную роль. Чтобы удалить суперпользователя, вы сами должны быть суперпользователем. Для удаления обычной роли (не суперпользователя) необходимо обладать привилегией CREATEROLE.

Если роль всё ещё используется в какой-либо базе данных, её нельзя удалить; в этом случае будет выдана ошибка. Перед удалением роли необходимо удалить все объекты, принадлежащие этой роли (либо передать их владение другому пользователю), а также отозвать все привилегии, предоставленные этой роли на другие объекты. Для этих целей можно использовать команды REASSIGN OWNED и DROP OWNED.

Однако не требуется вручную удалять членства в ролях, связанные с данной ролью: команда DROP ROLE автоматически отзывает все членства у целевой роли в других ролях, а также членства других ролей в целевой роли. Другие роли при этом сохраняются и не затрагиваются.

Параметры

IF EXISTS

  • Если указанная роль не существует, ошибка не возникает. Вместо этого выводится уведомление.

name

  • Имя удаляемой роли.

Пример

Удаление ролей с именами sally и bob:

DROP ROLE sally, bob;

Совместимость

Стандарт SQL определяет команду DROP ROLE, но разрешает удалять только одну роль за раз, а также предъявляет требования к привилегиям, отличающиеся от используемых в базе данных YMatrix.

Смотрите также

ALTER ROLE , CREATE ROLE