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.