REASSIGN OWNED#

REASSIGN OWNED

REASSIGN OWNED

REASSIGN OWNED — изменить владение объектами базы данных, принадлежащими роли базы данных

Синтаксис

REASSIGN OWNED BY { old_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...]
               TO { new_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER }

Описание

REASSIGN OWNED указывает системе изменить владение объектами базы данных, принадлежащими любому из old_roles, на new_role.

Параметры

old_role

Имя роли. Владение всеми объектами в текущей базе данных и всеми общими объектами (базами данных, табличными пространствами), принадлежащими этой роли, будет переназначено на new_role.

new_role

Имя роли, которая будет назначена новым владельцем затронутых объектов.

Примечания

REASSIGN OWNED часто используется для подготовки к удалению одной или нескольких ролей. Поскольку REASSIGN OWNED не влияет на объекты в других базах данных, обычно необходимо выполнить эту команду в каждой базе данных, содержащей объекты, принадлежащие роли, которую нужно удалить.

REASSIGN OWNED требует членства как в исходной роли(ях), так и в целевой роли.

Команда DROP OWNED является альтернативой, которая просто удаляет все объекты базы данных, принадлежащие одной или нескольким ролям.

Команда REASSIGN OWNED не влияет на привилегии, предоставленные old_roles на объекты, которыми они не владеют. Точно так же она не влияет на настройки привилегий, созданные с помощью команды ALTER DEFAULT PRIVILEGES. Для отзыва таких привилегий используйте команду DROP OWNED.

См. Раздел 21.4 для дополнительного обсуждения.

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

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