REASSIGN OWNED

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

Synopsis

REASSIGN OWNED BY { old_role | CURRENT_USER | SESSION_USER } [, ...]
               TO { new_role | CURRENT_USER | SESSION_USER }

Description

REASSIGN OWNED指示系统将* old_roles 中的任何一个拥有的数据库对象的所有权更改为 new_role *。

Parameters

  • old_role

    • 角色名称。该角色拥有的当前数据库中所有对象以及所有共享对象(数据库,表空间)的所有权将重新分配给* new_role *。
  • new_role

    • 将成为受影响对象的新所有者的角色的名称。

Notes

REASSIGN OWNED通常用于准备删除一个或多个角色。因为REASSIGN OWNED不会影响其他数据库中的对象,所以通常需要在每个数据库中执行此命令,该数据库包含要删除的角色所拥有的对象。

REASSIGN OWNED要求同时具有源角色和目标角色的特权。

DROP OWNED命令是一种替代方法,它只是删除一个或多个角色拥有的所有数据库对象。

REASSIGN OWNED命令不影响授予非old_roles *对象的任何特权。同样,它不会影响使用ALTER DEFAULT PRIVILEGES创建的默认特权。使用DROP OWNED撤消此类特权。

有关更多讨论,请参见Section 21.4

Compatibility

REASSIGN OWNED命令是 PostgreSQL 扩展。

See Also

DROP OWNED, DROP ROLE, ALTER DATABASE