REASSIGN OWNED
更改一个数据库角色所拥有的数据库对象的所有权
英文手册覆盖始于 PostgreSQL 6.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- anchor
- SQL-REASSIGN-OWNED
- file
- sql-reassign-owned.html
- lang
- en
- name
- REASSIGN OWNED
- purpose
- change the ownership of database objects owned by a database role
- purpose zh
- 未知
- sections same as
- 未知
- slug
- 18
- synopsis text
- REASSIGN OWNED BY { old_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] TO { new_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
语法
REASSIGN OWNED BY { old_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...]
TO { new_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER }语法图
从左向右阅读;分支表示选择,旁路表示可选,循环表示重复。点击带下划线的参数可打开对应规则。
版本定义 PG 18
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。
更多讨论请见第 21.4 节。
兼容性
REASSIGN OWNED命令是 PostgreSQL扩展。
另见
DROP OWNED, DROP ROLE, ALTER DATABASE比较版本
完整来源事实
synopsis html
REASSIGN OWNED BY { <em class="replaceable"><code>old_role</code></em> | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...]
TO { <em class="replaceable"><code>new_role</code></em> | CURRENT_ROLE | CURRENT_USER | SESSION_USER }来源引用
定义来源
center · PostgreSQL 18 · a709ab85
正文语言: zh-Hans · 1b5ca64c