dポイントプレゼントキャンペーン実施中!

OSはCentOS5.2を使用しております。

データベースクラスタの格納先を変更したく
PostgreSQLをrpmでインストールした後に
#su postgers
$vi ~/.bash_profile
でPGDATAを編集後、環境変数へ反映。

$/usr/bin/initdb -D /usr/local/pgsql
で初期化処理を実施後

/etc/rc.d/init.d/postgresql start
と起動したところ、イニシャル処理も実施され
デフォルトの/var/lib/pgsql/dataが作成されて
しまいこちらの領域を使用して起動します。

どうすれば、ディレクトリを変更できるのでしょうか。
よろしくお願い致します。

A 回答 (1件)

CentOSの環境が手元にないのであくまで推測になります。



おそらく起動スクリプト内でpostgresユーザの環境変数が参照されていないことが原因だと思います。まず、/etc/rc.d/init.d/postgresqlの内容を確認してPGDATAの値に何が指定されているかを確認してみてください。多分、以下のような行が含まれていると思います。

PGDATA=/var/lib/pgsql/data

ファイルを直接編集してPGDATAを変更してもいいですが、PGDG (PostgreSQL Global Development Group: PostgreSQLの開発元)が配布するパッケージ、もしくはそれをベースにしているパッケージであれば、/etc/sysconfig/pgsql/postgresqlというファイルを作成し、ファイル内に以下のような行を追加するとデータベースクラスタの位置を変更できるはずです。

PGDATA=/usr/local/pgsql

あと、日本語のデータを格納するのであればinitdbの実行時に--no-localeオプションを指定したほうがいいでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
今は、デフォルトで構築してしまったのですが
/etc/rc.d/init.d/postgresql作成し、当初の
目的の場所に変更しようと思います。

お礼日時:2009/06/06 22:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!