2025年9月25日: PostgreSQL 18 釋出!
支援的版本:當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0

ALTER TABLESPACE

ALTER TABLESPACE — 更改表空間定義

概要

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 [, ... ] )

描述

ALTER TABLESPACE 可用於更改表空間定義。

您必須擁有該表空間才能更改其定義。要更改所有者,您還必須能夠 SET ROLE 到新的所有者角色。(請注意,超級使用者自動擁有這些許可權。)

引數

name

現有表空間的名稱。

new_name

表空間的新名稱。新名稱不能以 pg_ 開頭,因為此類名稱保留給系統表空間。

new_owner

表空間的新所有者。

tablespace_option

要設定或重置的表空間引數。目前,唯一可用的引數是 seq_page_costrandom_page_costeffective_io_concurrencymaintenance_io_concurrency。為特定表空間設定這些值將覆蓋規劃器對從該表空間中的表讀取頁的成本的常規估計,以及併發 I/O 的數量,這些通常由同名配置引數建立(請參閱 seq_page_costrandom_page_costeffective_io_concurrencymaintenance_io_concurrency)。如果某個表空間位於比其他 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 語句。

提交更正

如果您在文件中看到任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用此表單報告文件問題。