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

终端执行psql命令提示密码验证失败如何快速登录?

PostgreSQL 直接执行psql命令登录失败的解决方案

报错原因

默认执行psql时,会自动使用当前Windows系统的用户名(本例为Ante)作为PostgreSQL的登录用户名,要么该用户在PostgreSQL中不存在,要么输入的密码不匹配,就会抛出身份验证失败报错。

即时可用解决方案

方案1:重置对应账户密码(保留密码验证逻辑)

  1. 先使用PostgreSQL默认超级用户登录,终端执行命令:
psql -U postgres

输入安装PostgreSQL时设置的postgres用户密码即可完成登录。
2. 进入psql交互终端后,按需执行以下操作:

  • 若Ante用户尚未创建,执行:
CREATE ROLE Ante WITH LOGIN SUPERUSER PASSWORD '自定义你的登录密码';
  • 若Ante用户已存在,直接重置密码即可:
ALTER USER Ante WITH PASSWORD '自定义你的登录密码';
  1. 执行\q退出psql,再次直接输入psql,输入刚才设置的密码即可登录成功。

方案2:配置本地免密登录(无需每次输入密码)

  1. 找到PostgreSQL的配置文件路径:如果方案1中psql -U postgres可登录,执行SHOW hba_file;即可获取pg_hba.conf的绝对路径;默认路径为C:\Program Files\PostgreSQL\你的版本号\data\pg_hba.conf。
  2. 打开pg_hba.conf,找到以下两行配置:
host    all             all             ::1/128                 scram-sha-256
host    all             all             127.0.0.1/32            scram-sha-256

将末尾的scram-sha-256修改为trust后保存文件。
3. 重启PostgreSQL服务:按下Win+R输入services.msc打开服务列表,找到名称以postgresql开头的对应服务,右键选择「重启」即可。
4. 后续直接在终端输入psql,无需输入密码即可直接登录。

常见排查点

如果执行psql -U postgres也提示密码错误,先按方案2的步骤将pg_hba.conf的本地连接验证规则改为trust,重启服务后无需密码即可登录postgres账户,完成密码修改或用户创建操作后,可按需改回原来的验证规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:54:07