ALTER TABLESPACE — テーブル空間の定義を変更する
ALTER TABLESPACEname
RENAME TOnew_name
ALTER TABLESPACEname
OWNER TO {new_owner
| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER TABLESPACEname
SET (tablespace_option
=value
[, ... ] ) ALTER TABLESPACEname
RESET (tablespace_option
[, ... ] )
ALTER TABLESPACE
はテーブル空間の定義を変更するのに使うことができます。
テーブル空間の定義を変更するにはテーブル空間の所有者でなければなりません。
所有者を変更するには、新しい所有者ロールに対してSET ROLE
もできなければなりません。
(スーパーユーザがこれらの権限を自動的に持つことに注意してください。)
name
既存のテーブル空間の名前です。
new_name
テーブル空間の新しい名前です。
pg_
から始まる名前は、システムのテーブル空間用に予約されているため使用することができません。
new_owner
テーブル空間の新しい所有者です。
tablespace_option
設定または設定解除するテーブル空間パラメータです。
現時点ではseq_page_cost
、random_page_cost
、effective_io_concurrency
、maintenance_io_concurrency
パラメータのみが利用可能です。
特定のテーブル空間にこの値を設定することにより、同一の名前の設定パラメータ(seq_page_cost、random_page_cost、effective_io_concurrency、maintenance_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
文はありません。