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; |