pgpool2についてはこちらが詳しいです
pgpool2はpostgresql7,4以降に対応したツールですが、
レプリケーションやパラレルクエリなど多機能なツールです。
今回は下記の前提でインストールしてます
・postgresql 8.3をソースからインストール済み (/var/lib/postgres)
・ユーザー postgresを作成済み
・pgpool2はソースからコンパイル、インストール
・インストール先を作成済み(/usr/local/pgpool2)
pgpool2はこちらからダウンロードできます
今回は2.3.1を落としてきてます。
–
tar zxvf pgpool-II-2.3.1.tar.gz
cd pgpool-II-2.3.1
./configure –prefix=/usr/local/pgpool2 –with-pgsql=/var/lib/postgres
make
make install
–
ソースからpostgresqlを居れず、パッケージなどから入れてる場合は–with-pgsqlは要らないかもしれません。
最後にインストール先をpostgresの権限にしときます。
chown -R postgres:postgres /usr/local/pgpool2/
・pgpool-recoveryを入れる
こっちはpostgresユーザーでやれるのでソースを見れる場所において作業
postgresユーザーはpostgresqlをインストールしてあればあると思う。
postgresqlのライブラリを利用するので環境読んでる(.bashrc)
–
chmod a+rwx -R /tmp/pgpool-II-2.3.1
su postgres
source ~/.bashrc
cd sql/pgpool-recovery/
make
su (rootになる)
・pgpool-recoveryを入れる
こっちはpostgresユーザーでやれるのでソースを見れる場所において作業(/tmpとか)
postgresユーザーはpostgresqlをインストールしてあればあると思う。
postgresqlのライブラリを利用するので環境読んでる(.bashrc)
–
cd /tmp/pgpool-II-2.3.1/sql/pgpool-recovery/
make
cp pgpool-recovery.so /var/lib/postgres/lib/
cp pgpool-recovery.sql /var/lib/postgres/share/
cd /var/lib/postgres
psql -c “\i share/pgpool-recovery.sql” template1
–
・自動起動
ソースディレクトリにredhatというディレクトリがあるのでそこからコピーして使う
rootでの作業
–
cd redhat
cp pgpool.init /etc/init.d/pgpool2
chmod u+rwx /etc/init.d/pgpool2
vi /etc/init.d/pgpool2 を修正
–
killproc /usr/local/pgpool2/bin/pgpool
–
cp pgpool.sysconfig /usr/local/pgpool2/etc/
chown -R postgres:postgres /usr/local/pgpool2/
pidファイルの場所を作成しておく
mkdir /var/run/pgpool
chown postgres:postgres /var/run/pgpool
chmod 777 /var/run/pgpool
–
その他、pgpool関連の設定については、まとめページが参考になるかと
pgpool2についてはこちらが詳しいです