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.
За подробностями обратитесь к Разделу 20.4.
Совместимость
Оператор REASSIGN OWNED является расширением Postgres Pro.