↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 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 扩展。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题请通过上游文档表单反馈给 PostgreSQL 文档维护者。