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.

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

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

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

См. также

DROP OWNED, DROP ROLE, ALTER DATABASE