web-dev-qa-db-ja.com

ポート5432でPostgresqlに接続できません

Ubuntu Server 14.04を実行しているサーバーにPostgreSQL 9.3をインストールしています。

ターミナル経由でサーバーにSSH接続すると、psqlで接続できます。しかし、リモート接続を行うようにpgAdmin IIIを構成しようとすると、次のようになります:

サーバーがリッスンしないサーバーは接続を受け入れません:接続ライブラリレポートはサーバーに接続できませんでした:接続は拒否されましたサーバーはホスト "172.24.3.147"で実行され、ポート5432でTCP/IP接続を受け入れますか?

サーバーで実行するとservice postgresql statusが得られます:

9.3/main (port 5432): online

ですから、もちろんここで重要なものを見逃しています。

編集

サーバーでnetstat -naを実行すると、次のようになります(関連部分、推測します):

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN     
tcp        0      0 172.24.3.147:22         172.24.3.240:61950      ESTABLISHED
tcp        0      0 172.24.3.147:22         172.24.3.240:60214      ESTABLISHED
23
Rodrigo

postgresql.confファイルを編集し、「listen_addresses」で行を変更する必要があります。

このファイルは、/etc/postgresql/9.3/mainディレクトリにあります。

デフォルトのUbuntu構成では、localhost(または127.0.0.1)インターフェイスのみが許可されています。これは、すべてのPostgreSQLクライアントが同じコンピューター上でPostgreSQLサーバーとして動作する場合に使用するのに十分です。他のコンピューターからPostgreSQLサーバーに接続する場合は、次のようにこの構成行を変更します。

listen_addresses = '*'

次に、pg_hba.confファイルも編集します。このファイルでは、このサーバーに接続できるコンピューターと、使用できる認証方法を設定しました。通常、同様の行が必要です。

Host    all         all         192.168.1.0/24        md5

このファイルのコメントを読んでください...

編集:

Postgresql.confとpg_hba.confを編集した後、postgresqlサーバーを再起動する必要があります。

EDIT2:強調表示された構成ファイル。

33
Jan Marek

ファイアウォールの設定も確認してください。 pg_hba.confおよびpostgres.confファイルをチェックしてダブルチェックした後、ファイアウォールがすべてを上書きしているため、接続をブロックしていることがわかりました

1
Alex

MacOSシステムのアップグレード後も同じ問題が発生しました。 postgresをbrewでアップグレードすることで解決しました。詳細:システムが古いPostgres 10設定を使用してPostgres 11にアクセスしようとしていたようです。過去のどこかで間違いだったと思いますが、幸運なことに、上記のアップグレードですべてが整理されました。

1
Adrian Stanica

LAN(または外部)でアクセスするためにポートを開くか、ネットワークアドレスをポートにバインドする必要があります(PostgreSQLがローカルホストだけでなくLANでリッスンするようにする)

1
Daniel Kravetz

これは私に二度かまれたので、私は言及する価値があると思いました。 postgresql.confのlisten_addresses = '*'という行はデフォルトでコメント化されています。それ以外の場合は、更新後にコメントを外してください(先頭の#を削除してください)。そうしないと、リモート接続は引き続きブロックされます。

0