リモートのpostgresqlデータベースに接続できません


16

リモートpsqlデータベースに接続しようとしています。pg_hba.confエントリにクライアントのIPアドレスを追加する前に、エラーメッセージが表示されました。

xdev@xdevbox:~$ psql -U postgres testdb -h 10.1.1.47
psql: FATAL:  no pg_hba.conf entry for host "10.201.50.71", user "postgres", database "testdb", SSL off

クライアントのIPに信頼設定を追加しました。また、サーバー上のpostgres.confのリッスンアドレスを変更して、「*」をリッスンしました。次に、/ etc / init.d / postgresql restartコマンドを使用してデータベースサーバーを再起動しました。

接続しようとすると、次のエラーメッセージが表示されます。

psql: could not connect to server: Connection refused
    Is the server running on host "10.1.1.47" and accepting
    TCP/IP connections on port 5432?

postgresql.confでは、ポートは5432に設定されています。他に何を確認するのかわかりません。

ありがとう


そのアドレスにpingできますか?
dezso

1
再起動したときにDBが正しく再起動しなかったと思います。PostgreSQLログファイルで理由を確認してください-おそらくタイプミスですpg_hba.conf
クレイグリンガー

リスンアドレスを*から特定のIPアドレスに変更する必要がありました。
ドット

回答:


22

次の2つのファイルを構成する必要があります

pg_hba.conf

host all all 0.0.0.0/0 md5

postgresql.conf

listen_addresses='*'

ポート5432が開いているかどうかを確認する必要があります:http : //www.yougetsignal.com/tools/open-ports/

そうでない場合は、ルールを追加します iptables

iptables -A INPUT -s 0/0 -p tcp --dport 5432 -j ACCEPT

0/0:誰かにアクセスさせたい場合。特定のIPアドレスまたはIPアドレスの範囲に変更できます。


1
ただ追加。外部ツールを使用する必要はありません。ちょうど使用telnet [yourServerIp] 5432あなたがいないあなたが使用することができますインストールされている場合のtelnet PowerShellたとえば、Windows上で。
イオン

@Ionicそれは本当です
デンマークKhakwani

2
よく私を妄想と呼びますが、私はネット上のサービスをあまり信頼していません。;-)ただ注意してください。:
イオン

ポートチェックツールはここで私を助けた
Shobi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.