Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17 / 18

REASSIGN OWNED

REASSIGN OWNED — 更改一个数据库角色所拥有的数据库对象的所有权

Synopsis

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

更多讨论请见Section 21.4

兼容性

REASSIGN OWNED命令是 PostgreSQL扩展。

另见

DROP OWNED, DROP ROLE, ALTER DATABASE