PostgreSQL REASSIGN OWNED
REASSIGN OWNED — 更改一个数据库角色拥有的数据库对象的拥有关系
大纲
REASSIGN OWNED BY { old_role
| CURRENT_USER | SESSION_USER } [, ...]
TO { new_role
| CURRENT_USER | SESSION_USER }
描述
REASSIGN OWNED
指示系统把 old_role们
拥有 的任何数据库对象的拥有关系更改为 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扩展。