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.