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

Postgres 14.3创建用户连接提示密码认证失败问题咨询

Postgres 14.3 Windows本地切换用户认证失败排查步骤

按以下顺序排查即可解决问题:

  • 先确认用户名、密码正确性
    保持当前postgres超级用户连接,执行\du查看所有已创建的数据库用户:如果创建用户时没有给用户名加双引号,Postgres会自动把用户名转成全小写,也就是说你执行create user Naruto实际创建的用户是naruto,切换时写大写Naruto会找不到对应用户直接报认证失败。
    确认用户名后,执行以下命令重置用户密码,避免创建密码时多打空格、输错字符:
    ALTER USER 你的实际用户名 WITH PASSWORD 'secret';
    
    注意密码是严格字符匹配的,命令里密码前后不要加多余空格。另外psql输入密码时默认不会显示任何输入内容(包括星号占位符),盲输完成直接按回车即可,不要因为看不到输入内容反复敲字符导致密码错误。
  • 调整本地连接认证规则(对应教程无需输密码的配置)
    教程里切换用户不需要输密码,本质是配置了本地连接免认证,本地个人学习环境可以直接按这个配置调整:
    1. 找到Postgres安装目录下data文件夹里的pg_hba.conf文件,默认安装路径为C:\Program Files\PostgreSQL\14\data\pg_hba.conf,用记事本打开
    2. 拉到文件最底部的连接规则段,把本地连接对应的3条规则的METHOD字段改成trust,修改后效果如下:
      # TYPE  DATABASE        USER            ADDRESS                 METHOD
      local   all             all                                     trust
      host    all             all             127.0.0.1/32            trust
      host    all             all             ::1/32                  trust
      
    3. 保存文件后,按Win+R输入services.msc打开Windows服务列表,找到postgresql-x64-14服务,右键选择重启,配置才会生效。
  • 验证效果
    重启服务后回到psql,执行\c staff 你的实际用户名,就可以直接切换到对应数据库,不需要输入密码,也不会再报认证失败错误。

注意:trust认证仅适合本地个人学习环境使用,不要在生产、公网可访问的数据库上用这个配置,会有安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 05:12:23