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.

Дополнительную информацию см. в разделе Удаление ролей.


Совместимость

Команда REASSIGN OWNED является расширением QHB.


См. также

DROP OWNED, DROP ROLE, ALTER DATABASE