PostgreSQL接続の問題(Net LO problem)


お昼に開発者はPHPが接続できないと言って、彼の接続方式:
'connectionString' =>"pgsql:host=172.25.*.*;port=5432;dbname=test",
'username' => 'develop',
'password' => 'develop'

キャプチャされたエラーメッセージ:
PDOException Object ( [message:protected] => SQLSTATE[08006] [7] timeout expired[string:private] => [code:protected] => 7 [file:protected] =>/home/shnx/bid.test.com/index.php [line:protected] => 3 [trace:private] => Array ( [0] => Array ( [file] =>/home/shnx/bid.test.com/index.php [line] => 3 [function] => __construct [class] => PDO [type] => -> [args] => Array ( [0] => pgsql:host=localhost;port=5432;dbname=test [1] => develop [2] => develop ) ) ) [errorInfo] => )
データベース・ログ情報を表示すると、同じエラー・メッセージが表示されます.
LOG:  could not receive data from client: Connection reset by peer LOG:  unexpected EOF on client connection LOG:  could not receive data from client: Connection reset by peer LOG:  unexpected EOF on client connection
まずpingでサーバーを下ろして、通じていて、更にデータベースに問題があるかどうかを検査して、psqlを使ってローカルにログインします:
[postgres@greentea]$ psql -U develop -d test
psql (9.1.2)
Type "help" for help.

test=> 

データベースは接続可能です.彼の接続情報がhost接続が1つ増えたのを見て、テストも追加して、問題が来たことを発見して、ずっとここに詰まっていて、絞るのも難しいので、最終的には間違いを報告します:
[postgres@greentea ~]$ psql -h localhost -U develop -d test

psql: could not connect to server:     
 Is the server running on host "localhost" (127.0.0.1) and accepting
 TCP/IP connections on port 5432?

localhostをローカルIPまたは127.0に変更する.0.1結果は同じで、hangはそこで動かなくなった.
このとき、別のホストpingをテストし、他のホストをpingするのは正常です.しかしping 127.0.0.1とかping localhostとかping自体のIPが通じないのがおかしい.ホスト名の設定をもう一度チェックしてpg_hbaとpostgres.conf構成は、問題ありません.IPの設定をもう一度チェックすると、IPのループLOがなくなったことに驚きました.eth 0とeth 1の情報しかありません.なるほど.
ループを追加:
ifconfig lo 127.0.0.1

再テストして、正常になりました.以前サーバーが再起動したことを思い出したが、NICが起きず、下NIC(ifdown eth 0とifup eth 0)を再起動したが、ipループが失われたのは初めてだった.まだ原因が分かりませんので、ご了解のお手数ですがお手紙をお願いいたします