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