You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置VPS PostgreSQL远程连接后,psycopg2连接遭拒绝求排查

PostgreSQL远程连接失败的排查要点

你已经完成了监听地址配置、访问控制规则修改和本地防火墙放行操作,但仍出现连接拒绝错误,可能是以下疏漏导致:

  • 未重启PostgreSQL服务:修改postgresql.conf和pg_hba.conf后,必须重启服务才能让新配置生效,执行命令:

    sudo systemctl restart postgresql
    

    部分旧系统可能需要使用service postgresql restart命令。

  • 端口配置不一致:确认PostgreSQL实际监听的是5432端口,在VPS上执行:

    sudo ss -tulpn | grep postgres
    

    如果端口不是5432,需要在连接代码中添加port参数:

    conn = psycopg2.connect(database='fr3sto', user='**', password='**', host='***', port='实际端口')
    
  • 云服务商安全组未放行端口:多数云服务商有独立的云安全组机制,即使VPS本地ufw开放了5432端口,若安全组未配置对应入站规则,外部仍无法连接。登录云服务商控制台,给对应VPS添加允许TCP 5432端口的入站规则。

  • 数据库角色权限不足:确认所用角色有权限远程连接并访问fr3sto数据库,在VPS上登录PostgreSQL执行:

    -- 检查角色是否允许登录
    SELECT rolname, rolcanlogin FROM pg_roles WHERE rolname='你的用户名';
    -- 检查角色是否有数据库连接权限
    SELECT has_database_privilege('你的用户名', 'fr3sto', 'connect');
    

    若权限不足,执行:

    GRANT CONNECT ON DATABASE fr3sto TO 你的用户名;
    
  • 本地网络限制:用本地终端测试连通性,确认不是本地网络问题:

    nc -zv 你的VPS地址 5432
    

    若测试失败,可尝试更换PostgreSQL端口(比如5433),同步更新配置、防火墙和安全组规则。


内容的提问来源于stack exchange,提问作者Fresto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:22:48