2024 年 9 月 26 日: PostgreSQL 17 发布!
支持版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2

REASSIGN OWNED

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

概要

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 的扩展。

提交更正

如果您在文档中看到任何不正确的内容,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表格 报告文档问题。