2012-06-23 7 views
13

私は最近、私は、PostgreSQL 9.1とCentOSに6.2仮想Linuxボックスを実行している設定とVMware Workstationの8pgAdmin3接続の問題

でのWindows 2008 R2サーバーを実行していますよ。すべてがローカルで大丈夫と思われ、ブリッジネットワーク接続を介してCentOSボックスに接続できます。

PostgreSQL 9.1を設定するために私はDavid Ghedini'sウォークスルーを続けました。だから、私はパティセッションウィンドウを起動し、rootでログインしてpsqlシェルを起動し、postgresユーザーとしてステートメントを発行することができます。私の問題は、Windows 7クライアントからpgAdmin IIIを使用して接続できないことです。私は/var/lib/pgsql/9.1/data/postgresql.confを更新してlisten_addresses '*'などを有効にしました。

誰かが私の誤りを見つけるためのヒントを教えてくれませんか? Windowsサーバー上でWindowsファイアウォールが無効になっていることを確認してください。

pgAdmin IIIクライアントはレポートします。

サーバーが接続を受け付けません

'聞いていないサーバー':接続ライブラリレポート

サーバーに接続できませんでした:接続が(タイムアウトし0x0000274C/10060 )サーバーがホスト "192.168.1.26"で動作し、ポート5432でTCP/IP接続を受け入れていますか?

#TYPE DATABASE USER ADDRESS   METHOD 
host all  all 192.168.1.0/24 trust 

とiptablesエントリが追加したファイル:

これはpg_hba.confファイルのエントリが追加され

-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 192.168.1.26 --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT 
-A OUTPUT -p tcp -s 192.168.1.26 --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT 
+0

confファイルを更新した後にpostgresqlサービスを再起動しましたか?また、pg_hba.confがあなたの問題を引き起こしているかもしれません。 [ここで私のdev postgresインスタンスに使用するコピーです](https://gist.github.com/2854761)。 **非常に**許容的ですが、あなたのためにdevのために働く必要があります。 – swasheck

+0

これは、pgAdminIIIで与えられたエラーを投稿してください。 – swasheck

+0

Mmm .. 'pg_hba.conf'ホストエントリであったはずです。私はあなたのsynataxに続き、すべてのすべての信頼エントリのホストを追加し、confファイルを再ロードしましたが、まだ 'Server does not listen'というメッセージが表示されます。接続の待ち時間が私に起こり始めています! – MaRk

答えて

12

はあなたが調整する必要がありpg_hba.conf

http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html

自分のホストとそれに対応するユーザーを追加したら、postgresqlサーバーを再起動してください。うまくいけば接続できます。

また、あなたはそれがネットワーク上のポートの有効にする必要があります: http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html

+0

もしそれがpg_hba.confファイルであったならば、私はユーザが別のエラーメッセージを受け取っていると思います。 – kgrittn

+0

Andrew、私は提供された2つのリンクのガイドに従っており、これらのエントリを表示するようにOPを更新しました。私はiptablesのエントリが解決策を提供すると思ったが、残念ながら私はまだpgAdmin IIIに接続できず、同じエラーが発生する。 – MaRk

+0

OK、接続しました!やれやれ!素晴らしいもの。私はサービスを再開し、接続することができました。多くのおかげで、私は唯一の顕著なものはiptablesの設定だと確信しています。とにかく、多くのありがとう。 – MaRk

0

はサーバー「192.168.1.26」のホスト上で実行し、TCP/IPにポート5432上の 接続を受け入れますか?

サーバーにそのIPアドレスがあることを確認します。実行中のプロセスがpostgresであることを確認してください。 netstatを使用して、サーバーがポート5432でリッスンしていることを確認します。

+0

はい、私はそれをsshしてログインできるように、サーバーは確かにそのIP上にあります。もともと述べたように、私はpostgresユーザーとしてpsqlシェルでコマンドを実行することによってpostgresが動作していることを確認しました。興味深いことにnetstatコマンドを実行すると、私はポート5432について言及していないようです。 – MaRk

+2

'psql'でログインし、' show port; 'と' show listen_addresses; 'とタイプしてください。おそらく、使用していると思われる設定が上書きされているか、サーバーを再起動する必要があります。また、VMが何らかの種類のファイアウォールを実装している可能性はありますか? – kgrittn

0

私は同じ問題があります。私はすべての私のサードパーティのアンチウィルスとファイアウォールを無効にし、PostgreSQLを再インストールして、今は正常に動作しています...:)

1

はPostgreSQLのサーバがファイアウォールの通過を許可されていることを確認してください:

サーバー・マシン上で、

コントロールパネル>システムとセキュリティ> Windowsファイアウォール>はWindowsファイアウォール経由のアプリ を許可

に行きます

許可されているアプリや機能をスクロールして、[PostgreSQL Server]がオンになっていることを確認してください。