Postgresql 中文操作指南

ALTER TABLESPACE

ALTER TABLESPACE — 更改表空间的定义

Synopsis

ALTER TABLESPACE name RENAME TO new_name
ALTER TABLESPACE name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER TABLESPACE name SET ( tablespace_option = value [, ... ] )
ALTER TABLESPACE name RESET ( tablespace_option [, ... ] )

Description

ALTER TABLESPACE 可用于更改表空间的定义。

你必须拥有表空间才能更改表空间的定义。若要更改所有者,你还必须能够 SET ROLE 至新的所有者角色。(请注意,超级用户会自动拥有这些权限。)

Parameters

  • name

    • 现有表空间的名称。

  • new_name

    • 表空间的新名称。新名称不能以 pg_ 开头,因为这些名称已预留给系统表空间。

  • new_owner

    • 表空间的新所有者。

  • tablespace_option

    • 一个要设置或重置的表空间参数。当前,唯一可用的参数是 seq_page_costrandom_page_costeffective_io_concurrencymaintenance_io_concurrency 。为特定表空间设置这些值将覆盖计划程序对于从该表空间中的表读取页面的成本的通常估计,并且执行程序的预取行为,由同名配置参数建立(请参见 seq_page_costrandom_page_costeffective_io_concurrencymaintenance_io_concurrency )。如果一个表空间位于比 I/O 子系统的其他部分更快速或更慢的磁盘上,这可能很有用。

Examples

将表空间 index_space 重命名为 fast_raid

ALTER TABLESPACE index_space RENAME TO fast_raid;

更改表空间 index_space 的所有者:

ALTER TABLESPACE index_space OWNER TO mary;

Compatibility

SQL 标准中没有 ALTER TABLESPACE 语句。