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

ALTER SYNONYM

功能描述

修改SYNONYM对象的属性。

注意事项

  • 目前仅支持修改SYNONYM对象的所有者。
  • 只有系统管理员有权限修改SYNONYM对象的所有者信息。当三权分立开关打开时,系统管理员默认没有权限修改SYNONYM对象的所有者。
  • 新所有者必须具有SYNONYM对象所在模式的CREATE权限。
  • 不支持修改PUBLIC同义词。

语法格式

1
2
ALTER SYNONYM synonym_name
    OWNER TO new_owner;

参数描述

  • synonym_name

    待修改的同义词名字,可以带模式名。

    取值范围:字符串,需要符合标识符命名规范

  • new_owner

    同义词对象的新所有者。

    取值范围:字符串,有效的用户名。

示例

 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
28
29
30
31
32
--创建系统管理员用户。
gaussdb=# CREATE USER sysadmin WITH SYSADMIN PASSWORD '********';

--切换管理员用户。
gaussdb=#  \c - sysadmin

--创建同义词t1。
gaussdb=#  CREATE OR REPLACE SYNONYM t1 FOR ot.t1;

--创建新用户u1。
gaussdb=# CREATE USER u1 PASSWORD '********';

--给新用户赋权限。
gaussdb=# GRANT ALL ON SCHEMA sysadmin TO u1;

--修改同义词t1的owner为u1。
gaussdb=# ALTER SYNONYM t1 OWNER TO u1;

--删除同义词t1。
gaussdb=# DROP SYNONYM t1;

--收回用户u1权限。
gaussdb=# REVOKE ALL ON SCHEMA sysadmin FROM u1;

--删除用户u1。
gaussdb=# DROP USER u1;

--切换到初始用户init_user,请使用真实的初始用户名称替换init_user。
gaussdb=# \c - init_user

--删除用户sysadmin。
gaussdb=# DROP USER sysadmin;

相关链接

CREATE SYNONYMDROP SYNONYM