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

PostgreSQL 10.4创建新用户时postgres密码验证失败求助

解决PostgreSQL 10.4密码验证失败并创建新用户的方案

你碰到的核心问题是postgres超级用户的密码验证不匹配,系统自动从pgpass.conf读取的密码和实际密码不一致。下面是几个可行的分步解决方案:

方案一:绕过pgpass直接输入正确密码

先排除pgpass.conf的干扰,直接手动输入密码验证:

  • 找到C:\Users\Gautam Jajoo\AppData\Roaming/postgresql/pgpass.conf,把它重命名(比如改成pgpass.conf.bak)或者暂时删除。
  • 打开CMD,执行正确的创建用户命令(注意去掉末尾多余的mydb,创建角色不需要指定数据库):
    psql -U postgres -c "CREATE ROLE gautam LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE;"
    
  • 这时会弹出密码输入提示,输入你安装PostgreSQL时设置的postgres超级用户密码即可。
  • 如果成功创建用户,说明原来的pgpass.conf里的密码有误。之后可以重新创建该文件,格式必须严格为:hostname:port:database:username:password,比如针对本地数据库可以写:localhost:5432:*:postgres:你的正确密码

方案二:重置postgres超级用户密码(如果你忘了密码)

如果完全记不起postgres的密码,就需要重置:

  1. 停止PostgreSQL服务:右键CMD选择「以管理员身份运行」,执行(注意服务名可能是postgresql-10,可以通过services.msc查看准确名称):
    net stop postgresql-x64-10
    
  2. 修改认证配置:找到PostgreSQL的数据目录(默认是C:\Program Files\PostgreSQL\10\data),打开pg_hba.conf文件。找到所有以host开头的行,把认证方式从md5/scram-sha-256改成trust,这样暂时允许无密码登录。
  3. 重启服务:执行:
    net start postgresql-x64-10
    
  4. 重置密码:执行命令设置新密码:
    psql -U postgres -c "ALTER USER postgres PASSWORD '你的新密码';"
    
  5. 恢复认证配置:把pg_hba.conf里的trust改回原来的md5/scram-sha-256,然后重启服务:
    net stop postgresql-x64-10 && net start postgresql-x64-10
    
  6. 现在就可以用新密码执行创建用户的命令了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:16:16