更新时间:2024-08-20 GMT+08:00

REASSIGN OWNED

功能描述

修改数据库对象的所有者。

REASSIGN OWNED用于将旧角色的数据库对象所有者改为新角色。

注意事项

  • REASSIGN OWNED常用于在删除角色之前的准备工作。
  • 执行REASSIGN OWNED需要有原角色和目标角色上的权限。

语法格式

REASSIGN OWNED BY old_role [, ...] TO new_role;

参数说明

  • old_role

    旧属主的角色名。

  • new_role

    将要成为这些对象属主的新角色的名称。注意:只有初始用户才可以通过REASSIGN OWNED语法将属主修改为初始化用户。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
--创建test_jim和test_tom用户。
gaussdb=# CREATE USER test_jim PASSWORD '********';
gaussdb=# CREATE USER test_tom PASSWORD '********';

--查看自动创建的模式的拥有者为同名的用户。
gaussdb=# \dn test*
   List of schemas
   Name   |  Owner   
----------+----------
 test_jim | test_jim
 test_tom | test_tom
(2 rows)

--将所有test_jim拥有的数据库对象的属主更改为test_tom。
gaussdb=# REASSIGN OWNED BY test_jim TO test_tom;

--查看schema的信息,test_jim模式的属主更换为test_tom。
gaussdb=# \dn test*
   List of schemas
   Name   |  Owner   
----------+----------
 test_jim | test_tom
 test_tom | test_tom
(2 rows)

--删除test_jim和test_tom用户。
gaussdb=# DROP USER test_jim, test_tom CASCADE;

相关链接

DROP OWNED