ALTER SCHEMA
更改现有 schema 的定义。使用此命令可重命名 schema 或更改 schema 的所有者。例如,当您计划创建现有 schema 的新版本时,将现有 schema 重命名可保留该 schema 的备份副本。有关 schema 的更多信息,请参阅 CREATE SCHEMA。
要查看已配置的 schema 配额,请参阅SVV_SCHEMA_QUOTA_STATE。
要查看已超出 schema 配额的记录,请参阅STL_SCHEMA_QUOTA_VIOLATIONS。
所需的权限
以下是 ALTER SCHEMA 所需的权限:
Superuser
具有 ALTER SCHEMA 权限的用户
Schema 拥有者
更改架构名称时,请注意,使用了旧名称的对象,例如存储过程或实体化视图,必须对其进行更新以使用新名称。
语法
ALTER SCHEMA schema_name { RENAME TO new_name | OWNER TO new_owner | QUOTA { quota [MB | GB | TB] | UNLIMITED } }
参数
- schema_name
-
要修改的数据库 schema 的名称。
- RENAME TO
-
用于重命名 schema 的子句。
- new_name
-
schema 的新名称。有关有效名称的更多信息,请参阅名称和标识符。
- OWNER TO
-
用于更改 schema 所有者的子句。
- new_owner
-
schema 的新所有者。
- QUOTA
-
指定的 schema 可以使用的最大磁盘空间量。此空间是指定 schema 下所有表的整体大小。Amazon Redshift 将选定值转换为 MB。如果您未指定值,则 GB 是默认的测量单位。
有关配置 schema 配额的更多信息,请参阅CREATE SCHEMA。
示例
以下示例将 SALES schema 重命名为 US_SALES。
alter schema sales rename to us_sales;
以下示例将 US_SALES schema 的所有权授予用户 DWUSER。
alter schema us_sales owner to dwuser;
以下示例将配额更改为 300 GB 并删除此配额。
alter schema us_sales QUOTA 300 GB; alter schema us_sales QUOTA UNLIMITED;