Maison  >  Questions et réponses  >  le corps du texte

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根目录找不到这个文件,而且在我另一台我可以连接成功服务器上,也不存在这个文件。

求大神解答!感谢~

大家讲道理大家讲道理2716 Il y a quelques jours509

répondre à tous(3)je répondrai

  • PHP中文网

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

    Il est recommandé de lire la documentation officielle :

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

    Généralement, les règles par défaut de postgresql sont définies de manière très anormale, autorisant uniquement les connexions localhost. Dans votre cas, vous devez vraiment modifier pg_hba.conf Quant au chemin de ce fichier, cela dépend des différentes distributions Linux et de l'installation. préférences du personnel, mais il est certain qu'il doit exister, vous pouvez simplement rechercher son chemin

    locate pg_hba.conf
    ou
    find / -type f -iname "pg_hba.conf" 2>/dev/null

    Après l'avoir trouvé, modifiez la politique de sécurité. En gros, il a des commentaires simples par défaut, faciles à comprendre (autoriser l'adresse IP locale)

    Une fois la modification terminée, redémarrez le service postgresql et tout ira bien

    répondre
    0
  • PHPz

    PHPz2017-04-18 09:45:52

    Il ne suffit pas de modifier uniquement le fichier pg_hba.conf, vous devez également modifier l'élément postgresql.conf de configuration listen_addresses de

    Vous pouvez trouver le PGDATA de postgresqlshow data_directory; via

    répondre
    0
  • 高洛峰

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

    Utilisez mysql -uroot -p - P -h pour essayer de voir si vous pouvez vous connecter à mysqld à distance
    Question de référence Le terminal Linux peut se connecter à la base de données mysql, mais il ne peut pas se connecter à mysql via le programme php

    répondre
    0
  • Annulerrépondre