REASSIGN OWNED
Эта страница переведена при помощи нейросети GigaChat.
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
требует, чтобы вызывающий пользователь входил в состав обеих ролей — и old_role
, и new_role
.
Альтернативой является команда DROP OWNED, которая просто удаляет все объекты базы данных, принадлежащие одной или нескольким ролям.
Команда REASSIGN OWNED
не затрагивает привилегии, предоставленные old_roles
на объекты, которые им не принадлежат.
Также она не затрагивает привилегии по умолчанию, созданные с помощью ALTER DEFAULT PRIVILEGES
. Чтобы отозвать такие привилегии, используйте DROP OWNED
.
Смотрите раздел «Отказ от ролей» для более подробной информации.
Совместимость
Команда REASSIGN OWNED
является расширением PostgreSQL.