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

使用psycopg2连接PostgreSQL提示用户doug密码认证失败如何解决?

排查步骤

  • 检查pg_hba.conf认证规则
    绝大多数密码正确但认证失败的问题都是PostgreSQL访问控制配置导致的。找到对应版本的pg_hba.conf文件(通常路径为/etc/postgresql/<你的PG版本号>/main/pg_hba.conf或/var/lib/postgresql/<你的PG版本号>/data/pg_hba.conf),查看本地连接相关配置行:
    如果存在以下类似配置:
    host    all             all             localhost               ident
    local   all             all                                     peer
    
    将ident/peer修改为md5或scram-sha-256(根据你的PG密码加密方式选择),保存后重启PostgreSQL服务:
    sudo systemctl restart postgresql
    
  • 先用命令行工具验证连接有效性
    先排除Python代码层面的问题,直接用psql测试连接:
    psql -h localhost -U doug -d test0 -p 5432
    
    手动输入密码testpassword123,如果同样报错,说明问题完全在PostgreSQL侧,和psycopg2无关。
  • 修改连接地址测试
    你当前用的localhost在部分系统默认走Unix套接字连接,可以尝试把连接参数里的host=localhost改成host=127.0.0.1走TCP协议连接,看是否能成功。
  • 重置用户密码确认有效性
    避免创建用户时密码输入有误、存在不可见字符或转义问题,直接在PostgreSQL超级用户终端执行密码重置:
    ALTER USER doug WITH PASSWORD 'testpassword123';
    
  • 确认PostgreSQL实例正确性
    执行命令检查5432端口对应的PostgreSQL实例是否是你操作的目标实例,避免存在多版本PG同时运行连错实例的情况:
    netstat -tulpn | grep 5432
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:24:03