DROP OWNED
DROP OWNED — удалить объекты базы данных, принадлежащие роли
Синтаксис
DROP OWNED BY { имя | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]Описание
DROP OWNED удаляет в текущей базе данных все объекты, принадлежащие любой из указанных ролей. Кроме того, эти роли лишаются всех прав, которые они имели для объектов текущей базы данных и общих объектов (баз данных, табличных пространств).
Параметры
имяИмя роли, все объекты которой будут уничтожены, а права отозваны.
CASCADEАвтоматически удалять объекты, зависящие от каждого затрагиваемого объекта, и, в свою очередь, все зависящие от них объекты (см. Раздел 5.13).
RESTRICTОтказать в удалении объектов, принадлежащих роли, если от каких-либо из них зависят другие объекты в базе данных. Это поведение по умолчанию.
Замечания
DROP OWNED часто применяется при подготовке к удалению одной или нескольких ролей. Так как команда DROP OWNED затрагивает объекты только в текущей базе данных, обычно её нужно выполнять в каждой базе данных, которая содержит объекты, принадлежащие удаляемой роли.
С указанием CASCADE эта команда может рекурсивно удалить объекты, принадлежащие и другим пользователям.
Команда DROP OWNED даёт альтернативную возможность — удалить все объекты базы данных, принадлежащие одной или нескольким ролям. Однако DROP OWNED не затрагивает права, назначенные для других объектов.
Базы данных и табличные пространства, принадлежащие указанным ролям, эта команда не удаляет.
За подробностями обратитесь к Разделу 22.4.
Совместимость
Команда DROP OWNED — расширение Postgres Pro.
