REASSIGN OWNED
REASSIGN OWNED — сменить владельца объектов базы данных, принадлежащих заданной роли
Синтаксис
REASSIGN OWNED BY {старая_роль
| CURRENT_USER | SESSION_USER } [, ...] TO {новая_роль
| CURRENT_USER | SESSION_USER }
Описание
REASSIGN OWNED
указывает системе сменить владельца объектов баз данных, принадлежащих одной из старых_ролей
, на новую_роль
.
Параметры
старая_роль
Имя роли. Все объекты в текущей базе данных и все общие объекты (базы данных, табличные пространства), принадлежащие этой роли, станут принадлежать
новой_роли
.новая_роль
Имя роли, которая станет новым владельцем затронутых объектов.
Замечания
REASSIGN OWNED
часто применяется при подготовке к удалению одной или нескольких ролей. Так как команда REASSIGN OWNED
затрагивает объекты только в текущей базе данных, обычно её нужно выполнять в каждой базе данных, которая содержит объекты, принадлежащие удаляемой роли.
Для выполнения REASSIGN OWNED
требуются права и для исходной, и для целевой роли.
Команда DROP OWNED предлагает альтернативное решение, просто удаляя все объекты базы данных, принадлежащие одной или нескольким заданным ролям.
Команда REASSIGN OWNED
не затрагивает никакие права, которые даны старым_ролям
для объектов, им не принадлежащим. Также она не затрагивает права по умолчанию, установленные командой ALTER DEFAULT PRIVILEGES
. Отозвать эти права можно, воспользовавшись командой DROP OWNED
.
За подробностями обратитесь к Разделу 21.4.
Совместимость
Оператор REASSIGN OWNED
является расширением Postgres Pro.