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.