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_option_

可以设置或者重置的表空间参数。目前,可以设置的参数是seq_page_costrandom_page_cost。 为一个表空间设置任一个值,将会覆盖在那个表空间中从表中阅读页的成本优化器的一般估计值,正如同通过同名的配置参数建立的。 (参阅seq_page_costrandom_page_cost)。 如果表空间所在的磁盘是一个更快或更慢的其它io子系统,那么这些参数是有用的。

例子

把表空间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