ALTER TABLESPACE
ALTER TABLESPACE¶
更改表空间的定义。
- 语法
-
``` sql ALTER TABLESPACE name RENAME TO new_name
ALTER TABLESPACE name OWNER TO new_owner
ALTER TABLESPACE name SET ( tablespace_option = value [, … ] )
ALTER TABLESPACE name RESET ( tablespace_option [, … ] ) ```
- 描述
-
ALTER TABLESPACE
更改表空间的定义。必须拥有表空间才能使用
ALTER TABLESPACE
。 要更改所有者,还必须是新拥有角色的直接或间接成员。(超级用户会自动拥有这些权限。) - 参数
-
该SQL命令参数说明见下
name
- 一个现有表空间的名称。
new_name
- 新的表空间的名称。新的表空间名称不能以
pg_
或sc_
开头。(这类名称保留用于系统表空间)。 new_owner
- 该表空间的新拥有者。
tablespace_parameter
-
要设置或重置的表空间参数。 当前,唯一可用的参数是
seq_page_cost
和random_page_cost
。为特定表空间设置这两个值将覆盖计划者通常对从该表空间中的表读取页面的开销的估计,这是由同名的配置参数确定的。
如果一个表空间位于比I/O子系统的其余部分更快或更慢的磁盘上,则这可能很有用。
- 示例
-
重命名表空间
index_space
为fast_raid
:ALTER TABLESPACE index_space RENAME TO fast_raid;
更改表空间
index_space
的所有者:ALTER TABLESPACE index_space OWNER TO mary;
- 兼容性说明
- 在SQL标准中没有
ALTER TABLESPACE
语句。 - 相关SQL命令
CREATE TABLESPACE
,DROP TABLESPACE