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.