更新时间:2024-06-29 GMT+08:00

ALTER SCHEMA

功能描述

修改模式属性。

注意事项

只有模式的所有者或者被授予了模式ALTER权限的用户,有权限执行ALTER SCHEMA命令,系统管理员默认拥有此权限。

若要修改模式的所有者,当前用户必须是该模式的所有者或者系统管理员。

语法格式

  • 修改模式的名称。
    1
    2
    ALTER SCHEMA schema_name 
        RENAME TO new_name;
    
  • 修改模式的所有者。
    1
    2
    ALTER SCHEMA schema_name 
        OWNER TO new_owner;
    
  • 修改模式的永久表存储空间限制。
    1
    2
    ALTER SCHEMA schema_name 
        WITH PERM SPACE 'space_limit';
    

参数说明

  • schema_name

    现有模式的名字。

    取值范围:已存在的模式名。

  • RENAME TO new_name

    修改模式的名字。

    new_name:模式的新名字。

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

  • OWNER TO new_owner

    修改模式的所有者。非系统管理员要改变模式的所有者,该用户还必须是新的所有角色的直接或间接成员, 并且该成员必须在此数据库上有CREATE权限。

    new_owner:模式的新所有者。

    取值范围:已存在的用户名/角色名。

  • WITH PERM SPACE

    修改模式的永久表存储空间上限。非系统管理员要改变模式的存储空间上限,该用户还必须是新的所有角色的直接或间接成员, 并且该成员必须在此数据库上有CREATE权限。

    space_limit:新的模式永久表存储空间上限。

    取值范围:字符串格式为正整数+单位,单位当前支持K/M/G/T/P。解析后的数值以K为单位,且范围不能够超过64比特表示的有符号整数,即1KB~9007199254740991KB。

示例

创建示例模式schema_test和用户user_a:

1
2
CREATE SCHEMA schema_test;
CREATE USER user_a PASSWORD '{Password}';

将当前模式schema_test更名为schema_test1:

1
ALTER SCHEMA schema_test RENAME TO schema_test1;

将schema_test1的所有者修改为user_a:

1
ALTER SCHEMA schema_test1 OWNER TO user_a;

相关链接

CREATE SCHEMADROP SCHEMA