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

 小王儿 发布于 2022-10-26 20:17
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根目录找不到这个文件,而且在我另一台我可以连接成功服务器上,也不存在这个文件。

求大神解答!感谢~

3 个回答
  • 你用mysql -uroot -p - P -h试试能不能远程登录mysqld
    参考问题linux终端能连接mysql数据库,但是通过php程序连接mysql连不起

    2022-10-27 01:41 回答
  • 只修改 pg_hba.conf 文件是不够的,还要修改 postgresql.conflisten_addresses 配置项

    可以通过 show data_directory; 来找到 postgresql 的 PGDATA

    2022-10-27 01:41 回答
  • 建议看下官方文档:

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

    一般postgresql的默认规则设置的很变态, 只允许localhost连接, 你这个情况确实需要修改下pg_hba.conf, 至于这个文件的路径, 视不同的linux发行版本以及安装人员的癖好而定, 但可以肯定是必然存在的, 你可以简单搜索下他的路径

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

    找到后修改下安全策略, 基本上默认都有简单注释, 很好理解(放行本机ip地址)

    改完后重启下postgresql服务就OK了

    2022-10-27 01:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有