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