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

如何解决pgAdmin中pg_dump密码认证失败的备份错误?

解决pgAdmin备份时pg_dump用Windows用户名的问题

1. 手动指定备份用的数据库用户

备份时pg_dump默认调用了你的Windows当前用户,这是核心问题,直接在备份对话框里修正:

  • 右键要备份的数据库,选择「Backup...」
  • 切换到「Options」标签页,找到「User name」输入框,手动填入postgres
  • 回到「General」标签页,确认备份输出路径是你提前创建好的、有写入权限的文件夹(比如C:\Postgres_Backups,避免用系统默认的无权限路径)
  • 点击「Backup」,弹出密码输入框时输入postgres用户的密码

2. 确保pg_hba.conf配置生效

之前修改后没效果,大概率是没重启服务或配置规则不对:

  • 找到pg_hba.conf文件:通常在C:\Program Files\PostgreSQL\[你的版本号]\data目录下
  • 用记事本打开,找到IPv4和IPv6的连接规则,修改为:
    host    all             all             127.0.0.1/32            scram-sha-256
    host    all             all             ::1/128                 scram-sha-256
    
    (如果是PostgreSQL 10及更早版本,把scram-sha-256替换为md5)
  • 保存文件后,按下Win+R输入services.msc打开服务管理器,找到「postgresql-[版本号]」服务,右键选择「重启」

3. 验证postgres用户密码正确性

如果仍提示密码验证失败,先确认密码是否正确:

  • 在pgAdmin里右键左侧的服务器,选择「Properties」
  • 切换到「Connection」标签页,点击密码框旁的眼睛图标,确认显示的密码是否正确
  • 若忘记密码,按以下步骤重置:
    1. 先停止PostgreSQL服务
    2. 以管理员身份打开命令提示符,执行:
      cd "C:\Program Files\PostgreSQL\[版本号]\bin"
      postgres.exe -D "C:\Program Files\PostgreSQL\[版本号]\data" -c listen_addresses=localhost -c password_encryption=scram-sha-256
      
    3. 新开一个命令提示符,执行:
      psql -U postgres
      
    4. 在psql交互界面输入:
      ALTER USER postgres WITH PASSWORD '你的新密码';
      \q
      
    5. 关闭之前的postgres进程,重启PostgreSQL服务

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 17:05:02