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.