Ubuntu-8.04+Slony-I 1.2 でinit.dスクリプトを使ってみた

以前 slon_start でslonを起動していると書いたが、slonの稼働中によく確認してみると、psコマンドの結果にDBへの接続パスワードが表示されてしまっていた。 orz

コマンド中にパスワードが表示されないようにするには、各slon向けにslon.conf を書く必要がある。ついでにinit.dスクリプトも使って、slonを起動するようにしてみた。

Ubuntuでは、 /etc/init.d/slony1 でslonを起動する際、 /etc/slony1/*/slon.conf を使用する。 各slon向けに接続情報を書いた slon.conf を該当ディレクトリに置いておくと、init.d スクリプトが自動的に複数のslonを起動してくれる。記述内容は、次のようになる。

cluster_name='replication'
conn_info='host=localhost dbname=repldb1 user=pgadminusr1 port=5433 password=xxx'

slon_tools.conf を使用している場合には、slon.conf の中身は、slon_tools.conf 内の接続情報と同様になる。( 書式は違うので注意 )

この状態だと、psの結果にパスワードは表示されなくなる。更に、パスワードを保護するため、 作成した slon.conf, slon_tools.conf のパーミッションを 640, 所有者を postgres.postgres にすると、一般ユーザーからパスワードは見えなくなる。