Slony-I 1.2でslonがOS起動時に起動されるようにしてみた

CentOS5.3にPGDG (https://projects.commandprompt.com/public/pgcore) からのパッケージで、slony-I をインストールすると、slonデーモンの起動スクリプトとして、 /etc/init.d/slony1 がついてくる。

ただし、このスクリプトは slon_tools.conf 形式の設定ファイルに対応していないらしく、前回のように slon_tools.conf を複数使っているような場合には使用できない。他に、 /usr/bin/launch_clusters.sh というスクリプトもあったのだが、中を見てみる限り、こちらも slon_tools.conf は使えないらしい。

手っ取り早い方法として、 /etc/rc.local 内に、次のような起動コマンドを書き加えることで、起動時にslonを起動できるようになった。

runuser -l postgres -c "/usr/bin/slon_start --config /var/lib/pgsql/slony1/slon_tools.conf 1"
runuser -l postgres -c "/usr/bin/slon_start --config /var/lib/pgsql/slony1/slon_tools.conf 2"
runuser -l postgres -c "/usr/bin/slon_start --config /var/lib/pgsql/slony1/slon_pgbench.conf 1"
runuser -l postgres -c "/usr/bin/slon_start --config /var/lib/pgsql/slony1/slon_pgbench.conf 2"

runuserはsuの代わりに使用している。(SELinuxの管理上、suだとコンテキストが決定できないため ) initスクリプトでslon_tools.conf を使う方法がわかるまでは、この方法でいきたいと思う。