Postgresql 中文操作指南

ALTER TABLESPACE

ALTER TABLESPACE — 更改表空间的定义

ALTER TABLESPACE — change the definition of a 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 可用于更改表空间的定义。

ALTER TABLESPACE can be used to change the definition of a tablespace.

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

You must own the tablespace to change the definition of a tablespace. To alter the owner, you must also be able to SET ROLE to the new owning role. (Note that superusers have these privileges automatically.)

Parameters

  • name

    • The name of an existing tablespace.

  • new_name

    • The new name of the tablespace. The new name cannot begin with pg_, as such names are reserved for system tablespaces.

  • new_owner

    • The new owner of the tablespace.

  • tablespace_option

    • A tablespace parameter to be set or reset. Currently, the only available parameters are seq_page_cost, random_page_cost, effective_io_concurrency and maintenance_io_concurrency. Setting these values for a particular tablespace will override the planner’s usual estimate of the cost of reading pages from tables in that tablespace, and the executor’s prefetching behavior, as established by the configuration parameters of the same name (see seq_page_cost, random_page_cost, effective_io_concurrency, maintenance_io_concurrency). This may be useful if one tablespace is located on a disk which is faster or slower than the remainder of the I/O subsystem.

Examples

将表空间 index_space 重命名为 fast_raid

Rename tablespace index_space to fast_raid:

ALTER TABLESPACE index_space RENAME TO fast_raid;

更改表空间 index_space 的所有者:

Change the owner of tablespace index_space:

ALTER TABLESPACE index_space OWNER TO mary;

Compatibility

SQL 标准中没有 ALTER TABLESPACE 语句。

There is no ALTER TABLESPACE statement in the SQL standard.