web-dev-qa-db-ja.com

Postgresサーバーが待機していない

クライアント(Macbook Pro)を使用して、同じネットワーク(Ubuntu)の別のPCにあるPostgresデータベースに接続しようとしています。pgAdminを使用してホストからデータベースを表示できますが、localhostに接続できません。クライアント。

pg_hba.confpostgresql.confのすべての接続を許可しました

クライアントからpgAdminを介して、データベースが格納されているIPサーバー(192.168.1.34)とポート5432に接続しようとしています

enter image description here そして私はこのエラーを受け取ります enter image description here 何が悪いのですか?

私は何かを逃していますか

提案を読んだ後、私は言うことができます:ubuntuマシン(ホームテストサーバー)にはファイアウォールがありません。 Postgresが実行されています。

私はubuntuコンソールからデータベースにアクセスしようとしました:psql -h 127.0.0.1 mydatabase postgresと接続できます(つまり、サーバーは実行中でユーザー名は大丈夫です)同じマシンから同じデータベースにアクセスしようとすると、 localhostをIPで変更すると、接続できません。サーバーから接続するときにpsql -h 127.0.0.1 mydatabase postgrespsql -h 192.168.1.34 mydatabase postgresと同じであってはなりませんか?

多分アランが示唆したように、ループバックの中にいるのですか

6
Pablo Pardo

接続していないため、適切なインターフェイスでリッスンしていないか、ファイアウォールによってブロックされている可能性があります。

Postgresは稼働していますか?

Sudo service postgresql status

Postgresは、LAN IPまたは0.0.0.0(すべてのインターフェース)上のtcp/5432をリッスンしていますか?

netstat -anpt | grep LISTEN

127.0.0.1(ループバック)のみをリッスンしている可能性があります。つまり、Macから到達できません。

待機していないか、ループバックしている場合は、postgresql.confでlisten_addressesを確認します。

http://www.postgresql.org/docs/9.1/static/runtime-config-connection.html

Ubuntuボックスで実行されているファイアウォールはありますか?

MacのIPからtcp/5432へのインバウンド接続を最低限許可するようにしてください。

GUFWを使用すると、これを簡単に構成できますが、iptablesでも実行できます。

Ubuntuセットアップの詳細リファレンス:

https://help.ubuntu.com/community/PostgreSQL

13
Alain O'Dea

次の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アドレスの範囲に変更できます。

12
Danish Khakwani

Postgresqlが外部ネットワークからのリクエストを受け入れることを許可している。そのためには、/etc/postgresql/{version_code}/mainにある2つのファイルを変更する必要があります。最初のファイルはpg_hba.confで、開いて

Host all all ::1/128 md5Host all all 0.0.0.0/0 md5に変更

2つ目はpostgresql.confで、オープンで

listen_address = 'localhost'listen_address = '*'に変更

次に、postgreサーバーを再起動します。

Ubuntu 17.04では、デフォルトポートは5433で、パス/etc/postgresql/9.6/mainにあるファイルpostgresql.confをチェックします。