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.