EC-CUBEから学ぶ PostgreSQLのリモート接続

なんかの雑誌みたいな見出しですが、EC-CUBEのインストールをしようとして、PostgreSQLのリモート接続ではじかれたので、対処法をメモ。
インストールのDB設定のところでこんなエラーが出たわけです。

DB Error:
[nativecode=pg_connect() [function.pg-connect]:
Unable to connect to PostgreSQL server: could not connect to server:
Connection refused Is the server running on host "192.168.1.xxx" and accepting TCP/IP connections on port 5432?

TCP/IP接続が許可されてねーんじゃないのということです。
EC-CUBEは、ひとつ前のバージョンをインストールしてるんですけど、どーやってインストールしたんですかね?
 
ググるとここ(質問 > その他 > PostgreSQLでUNIXドメインソケット接続での使用は可能か)にそれらしいことが書いてありました。
ここでは、EC-CUBEのインストーラの方にパッチをあててますけど、今回は真っ当に PostgreSQLの方をリモート接続できるようにしてみます。
 
さらにググって、postgresql.conf と pg_hba.conf に設定を書けばいいということがわかったので、こんな風にしてみた。

# e postgresql.conf
listen_addresses = '192.168.1.3'

# e pg_hba.conf
host  all  all  192.168.1.0/24  trust

 
で、PostgreSQLをリスタートしたら、エラーで起動しないでやんの。

 * The PostgreSQL server failed to start. Please check the log output:
2010-07-03 12:39:31 JST LOG:  could not load root certificate file "root.crt": no SSL error reported
2010-07-03 12:39:31 JST DETAIL:  Will not verify client certificates.
2010-07-03 12:39:31 JST LOG:  could not bind IPv4 socket: Cannot assign requested address
2010-07-03 12:39:31 JST HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2010-07-03 12:39:31 JST WARNING:  could not create listen socket for "192.168.1.3"
2010-07-03 12:39:31 JST FATAL:  could not create any TCP/IP sockets

 
結局、listen_addresses = ‘*’ じゃないといけなかったみたい。なにが問題なんだろうか。動くようになったからいいけど。

# e postgresql.conf
listen_addresses = '*'