历史版本。 PostgreSQL 9.6 已结束支持。 2021-11-11. 请参阅 当前版本手册.
REASSIGN OWNED
REASSIGN OWNED — 更改一个数据库角色所拥有的数据库对象的所有权
大纲
REASSIGN OWNED BY { old_role | CURRENT_USER | SESSION_USER } [, ...]
TO { new_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。
更多讨论请见第 21.4 节。
兼容性
REASSIGN OWNED命令是
PostgreSQL扩展。