人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PostgreSQLのすべてのデータがルートのパーティションに格納されているんですがそれを
他のパーティションなどに割り振れないでしょうか。

●質問者: W_for_W
●カテゴリ:ウェブ制作
✍キーワード:postgreSQL データ パーティション ルート
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●30ポイント

http://www.hizlab.net/app/install/pgsql.html

PostgreSQL install

設定時の指定は いかがでしょうか?

MANPATHやPGDATAなど。


2 ● tonolove
●80ポイント

http://www.stackasterisk.jp/tech/dataBase/postgresql02_03.jsp

PostgreSQL 入門:PostgreSQL 有効活用術(バックアップ/リストア編)

3_4.データベースファイルの生成場所

データベースのデータは、デフォルトで /usr/local/pgsql/data/base/ 以下にファイルとして作成されます。通常の利用だとこれで問題はないのですが、大規模なデータベースの場合、ディスク領域が足りなくなることが懸念されます。そういった場合、大容量のパーティションにデータを配置すれば、問題は回避できます。

方法ですが、シンボリックリンクという機構を使います。シンボリックリンクを用いると、ファイルやディレクトリへのリンクを、実体とは別のところに配置することが可能になります。例えば、/tmp/hoge というファイルがあったとして、/home/hoge/link に /tmp/hoge へのシンボリックリンクを作れば、cat /home/hoge/link とすれば、/tmp/hoge の内容が表示されるようになります。

シンボリックリンクを作るためのコマンドは ln (エルエヌ)です。上記の例の場合だと

ln -s /tmp/hoge /home/hoge/link

のように、-s オプションをつけて、実体、リンクの名前 という順番で記述します。

PostgreSQL のデータを他の場所に移す場合の説明をします。データは /usr/local/pgsql/data/base/ の下にデータベース名のディレクトリが作られていて、その中にすべてのファイルが存在します。ですから、まずそのディレクトリを希望の位置に移動させます。その後、/usr/local/pgsql/data/base の下にデータベース名と同じ名前のシンボリックリンクを作ります。

上記の処理はデータベースの運用が始まる前に行うべきなのですが、運用中にしなければならないときは、postmaster をとめて、データベースへのアクセスが無い状態にしてから移動作業を行います。

pg_ctl stop

mv /usr/local/pgsql/data/base/yourdbname /ext/dbdir/

ln -s /ext/dbdir/yourdbname /usr/local/pgsql/data/base/yourdbname

yourdbname はデータベース名です。最後に postmaster を起動して完了です。


3 ● medical_blog
●30ポイント

http://www.postgresql.jp/ug/press-release/2005-01.html

テーブルスペースを使用すれば可能ですが、これは出たばかりのVer8で新規に実装された機能です。

ただこれを使用してもテーブル単位などでしか、振り分けることは出来ません。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ