ホームページ  >  に質問  >  本文

python - psycopg2连接远程数据库被拒绝

psycopg2.OperationalError: could not connect to server: Connection refused
    Is the server running on host "45.32.1XX.2XX" and accepting
    TCP/IP connections on port 5432?

远程数据库端口已经打开了:

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      11516/postgres                
tcp6       0      0 ::1:5432                :::*                    LISTEN      11516/postgres

网上查说要修改pg_hba.conf,但是我在postgresql根目录找不到这个文件,而且在我另一台我可以连接成功服务器上,也不存在这个文件。

求大神解答!感谢~

大家讲道理大家讲道理2765日前542

全員に返信(3)返信します

  • PHP中文网

    PHP中文网2017-04-18 09:45:52

    公式ドキュメントを読むことをお勧めします:

    https://www.postgresql.org/do...

    一般に、postgresql のデフォルトのルールは非常に異常に設定されており、あなたの場合、pg_hba.conf を変更する必要があります。これは、さまざまな Linux ディストリビューションに依存します。インストール担当者の好みに応じて異なりますが、必ず存在する必要があるため、そのパスを検索するだけで済みます

    locate pg_hba.conf
    または
    find / -type f -iname "pg_hba.conf" 2>/dev/null

    見つけたらセキュリティポリシーを修正します。基本的にはデフォルトでシンプルなコメントが付いているので分かりやすいです(ローカルIPアドレスを解放します)

    変更が完了したら、postgresql サービスを再起動すれば問題ありません。

    返事
    0
  • PHPz

    PHPz2017-04-18 09:45:52

    pg_hba.conf ファイルを変更するだけでは十分ではありません。postgresql.conflisten_addresses 構成項目

    も変更する必要があります。

    postgresql の PGDATAshow data_directory;

    を通じて見つけることができます。

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 09:45:52

    mysql -uroot -p - P -h
    を使用して mysqld にリモートでログインできるかどうかを確認してください。参考質問 Linux ターミナルは mysql データベースに接続できますが、php プログラムを介して mysql に接続することはできません

    返事
    0
  • キャンセル返事