0

PostgreSQL データベースにリモートで接続しようとすると問題が発生します。私はローカル PC で作業しており、サーバーにデータベースがあります。サーバーでは、pg_hba.conf と postgresql.conf の両方を構成します。最初のファイルは次のようになります。

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             46.18.24.0/22           trust
host    all             all             193.106.180.0/22        trust
host    all             all             193.146.230.62/32       trust

そして2番目のもの:

listen_addresses = '*'                  
port = 5432             
max_connections = 100

サーバー側でポート 5432 が開かれていることを確認します。

しかし、自分の PC (193.146.230.62) から pgAdmin III 経由で接続しようとすると、接続できません。問題は何でしょうか?

よろしくお願いします!

4

4 に答える 4

2

サーバーにファイアウォールがありますか、それともPCにサードパーティのアドオンファイアウォールがありますか?

サーバーがLinuxの場合は、sudo iptables -Lそこに何かがあるかどうかを確認してください。デフォルトのファイアウォールなしの構成は次のとおりです。

Chain INPUT (policy ACCEPT) target     
prot opt source               destination         

Chain FORWARD (policy ACCEPT) target     
prot opt source               destination         

Chain OUTPUT (policy ACCEPT) target     
prot opt source               destination

Windowsサーバーで、Windowsファイアウォールをチェックしてpostgres.exe、リッスンが許可されていること、および/またはポートが開いていることを確認します。

Windowsクライアントで、サードパーティの「インターネットセキュリティ」またはファイアウォールプログラムがインストールされているかどうかを確認します。Windowsファイアウォールだけがそこにある場合、それは問題ありません、それは問題ではありません。ただし、一部のサードパーティファイアウォールは発信接続をブロックし、問題の原因となる可能性があります。

pingサーバーを使用できるかどうかを確認してください。

これで問題が解決しない場合は、質問を編集して、表示されるエラーメッセージの正確な単語と、接続方法の説明(psql、PgAdmin-III、JDBCなど)を追加してください。

接続が機能するようになったら、必ずユーザーパスワードtrustに戻ってmd5設定してください。モードで実行するとtrust、「ねえ、私のネットワークに接続できる人は誰でも、必要に応じて私のデータを盗んだり破壊したりする」と言っています。

于 2012-07-26T09:17:27.153 に答える
0

PresleyDias が提案したようlisten_addressesに、サーバーのローカル IP に変更し、で/24マスクを指定してみてください。pg_hba.conf

于 2012-07-26T08:44:24.623 に答える
0

詳細については、PostgreSQL のログを参照してください。$PGDATA/postgresql.conf ファイルのパラメータ log_connections=on および log_disconnections=on を設定する必要があるかもしれません。

ところで、信頼の代わりに md5 認証方法を使用することをお勧めします。</p>

于 2012-07-26T08:14:17.777 に答える