ALTER TABLESPACE

Name

ALTER TABLESPACE -- 修改一个表空间的定义

Synopsis

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, 你必须拥有该该表空间。要修改所有者, 你还必须是新的所有角色的直接或间接成员。 不过,超级用户自动获得这些权限。

参数

name

一个现有的表空间

new_name

表空间的新名字。新名字不能以pg_开头, 因为这样的名字保留给系统表空间用了。

new_owner

表空间的新所有者

tablespace_parameter

要设置或者重置的表空间参数。目前,仅有的可获得的参数是seq_page_costrandom_page_cost。为一个表空间设置任一个值,将会在那个表空间中重写从 表中阅读页的成本的优化器的一般估计值,正如同通过同名的配置参数建立的。 (参阅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语句。

又见

CREATE TABLESPACE, DROP TABLESPACE