• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:postgresに接続できない)

質問:postgresに接続できない

このQ&Aのポイント
  • 環境はxp、apache2、php5、Postgresql8.2です。
  • postgresに接続できなくて困っています。エラーメッセージは「Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused (0000000000D/00000) Is the server running on host "???" and accepting TCP/IP connections on port 5432?」です。
  • PHPとPostgresqlの勉強中に、postgresに接続できない問題が発生しています。ご教示いただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

接続できないトラブルの原因は大きく分けて以下の3つ 1.経路が繋がっていない。線が繋がっているように見えても、論理的に切断されている場合もある。 2.接続先(今回はPostgreSQL)が接続を受け付けていない。 3.接続元(今回はPHP5)が接続しにいく設定になっていない。 PHP君は「PostgreSQL君が接続を待ち受けていないよ」と言っている。なので、2番ではないかと考えられる。PHP側でpg_connectにhost=hogehogeを記述していないので正しいマシンに接続にいっていないという3番の可能性もあるにはあるんだけど。 見るべきはPostgreSQLの設定。とりあえず postgresql.confを開いて、 listen_addresses = '*' という風になっているか確認。無ければ次のいずれかに設定する。 listen_addresses='127.0.0.1' listen_addresses='<マシンのIPアドレス>' listen_addresses='*' 上から順番に安全だ。ただし、一番上はPHPとPostgreSQLが同じマシンで動作していなければいけない。 ところで、恐らくここで詰まったという事は、これが解決しても次の段階で詰まると思われる。上のpostgresql.confと同じ場所にあるであろうpg_hba.confもあわせて確認しておきたい。とりあえず設定例だけ掲載しておくので後は検索いただきたい。 host all all 127.0.0.1/32 password sameuser

wee
質問者

お礼

ご返事有り難うございました。 早速試してみます。

関連するQ&A