REASSIGN OWNED
Изменяет владельца объектов базы данных, принадлежащих указанной роли.
Синтаксис
REASSIGN OWNED BY <old_role> [, ...] TO <new_role>
Описание
Команда REASSIGN OWNED указывает системе сменить владельца объектов базы данных, принадлежащих одной из ролей old_role, на роль new_role.
Параметры
| Параметр | Описание |
|---|---|
old_role |
Имя роли. Все объекты в текущей базе данных и все общие объекты (базы данных, табличные пространства), принадлежащие этой роли, будут переназначены роли |
new_role |
Имя роли, которая станет новым владельцем затронутых объектов |
Примечания
Команда REASSIGN OWNED часто используется для подготовки к удалению одной или нескольких ролей. Поскольку REASSIGN OWNED не затрагивает объекты в других базах данных, обычно необходимо выполнить ее в каждой базе данных, содержащей объекты, принадлежащие удаляемой роли.
Для выполнения команды REASSIGN OWNED необходимо быть членом как исходной, так и целевой роли.
Команда DROP OWNED является альтернативным способом удаления всех объектов базы данных, принадлежащих одной или нескольким ролям. Для выполнения команды DROP OWNED требуются привилегии только для исходной роли.
Команда REASSIGN OWNED не влияет на привилегии, предоставляемые ролям old_role для объектов, которые им не принадлежат. Также она не влияет на привилегии по умолчанию, установленные командой ALTER DEFAULT PRIVILEGES. Отозвать эти права можно командой DROP OWNED.
Примеры
Переназначение всех объектов базы данных, принадлежащих ролям sally и bob, роли admin:
REASSIGN OWNED BY sally, bob TO admin;
Совместимость
Команда REASSIGN OWNED является расширением Greengage DB.