[PostgreSQL] TABLESPACEでテーブル空間を追加する手順メモ

PostgreSQL を利用していて、ディスク容量が足りなくなったら、
いったん PostgreSQL サーバを停止して、pgdata のディレクトリごと
もっと大きなディスクに移動して、シンボリックリンクを張ってから
PostgreSQL を再起動するのが、一番分かりやすい手順だと思う。
 
PostgreSQL では、テーブル単位で物理的なディスク配置を追加・指定できるので、
このテーブル空間(tablespace)の機能を使うと、PostgreSQL サーバを停止しなくても、
使用可能なディスク容量を増やすことができる。

まずは、root 権限で、容量のあるディスク上に空のディレクトリを作成する。
PostgreSQL 稼動ユーザ(postgres)権限にしておく必要がある。
root# mkdir /pgdata/tablespace
root# chown postgres.postgres /pgdata/tablespace

次に、CREATE TABLESPACE 文でディレクトリ名を指定してテーブル空間を追加する。
テーブル空間が追加できたら、TABLESPACE 句で利用できるようになる。
root# su - postgres
postgres$ psql
postgres=# CREATE TABLESPACE newspace LOCATION '/pgdata/tablespace';
postgres=# \db
List of tablespaces
Name | Owner | Location
------------+----------+--------------------
newspace | postgres | /pgdata/tablespace
pg_default | postgres |
pg_global | postgres |
postgres=# CREATE TABLE table1 ( col1 TEXT ) TABLESPACE newspace;

テーブルだけでなくて、インデックスも TABLESPACE 句でテーブル空間を指定できる。
詳しくは↓を参照のこと。
http://www.postgresql.jp/document/pg814doc/html/manage-ag-tablespaces.html

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 7

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい かわいい

この記事へのコメント

この記事へのトラックバック