windows下忘记pgsql密码

可以重置,核心思路是:‌临时把本地连接认证改成 trust 免密登录,改完密码后再恢复原样‌。全程不会动你的数据,放心操作。‌

🔧 操作步骤

‌停止 PostgreSQL 服务‌

按 Win + R,输入 services.msc 打开服务管理器。

找到类似 postgresql-x64-16 的服务(版本号按你实际安装的来),右键点击‌停止‌。‌

‌修改认证配置文件 pg_hba.conf‌

文件位置:C:\Program Files\PostgreSQL\<你的版本号>\data\pg_hba.conf(如果安装时改过路径,去对应目录找)。

用‌管理员身份‌打开记事本或 VS Code 编辑该文件,找到这两行(IPv4 和 IPv6 的本地连接):

text

host all all 127.0.0.1/32 scram-sha-256

host all all ::1/128 scram-sha-256

把最后的 scram-sha-256(或 md5)改成 trust,保存文件。‌

‌重启 PostgreSQL 服务‌

回到服务管理器,找到刚才那个服务,右键点击‌启动‌。‌

‌免密登录并重置密码‌

打开命令提示符(cmd)或 PowerShell,先切换到 bin 目录(如果 psql 不在系统路径里):

text

cd "C:\Program Files\PostgreSQL\<你的版本号>\bin"

登录(此时不需要密码,直接回车):

text

psql -U postgres

执行以下 SQL 设置新密码(把 '你的新密码' 换成你想设的):

sql

ALTER USER postgres WITH PASSWORD '你的新密码';

输入 \q 退出 psql。‌

‌恢复安全配置并重启服务‌

再次打开 pg_hba.conf,把刚才改的 trust ‌改回原来的 scram-sha-256 或 md5‌,保存。

最后再重启一次 PostgreSQL 服务,新密码就生效了。‌

⚠️ 这是临时应急方案。trust 认证意味着任何本地连接都能免密登录,‌重置完成后务必第一时间改回原认证方式‌,否则数据库等于大门敞开。‌

🆘 常见问题

‌找不到 pg_hba.conf 文件‌:去服务管理器查看 PostgreSQL 服务的"可执行文件的路径",里面的 -D 参数后面就是数据目录。

‌登录时仍然提示输入密码‌:确认是否改对了所有本地连接规则(除了 127.0.0.1 和 ::1,还有其他 host 行也一起改);确认服务已重启成功。

相关推荐
熊文豪1 小时前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库·sql·电科金仓
倔强的石头_3 小时前
让 AI 直接查公司数据库?先给 SQL 加三道闸:基于蓝耘 MaaS 的只读查询助手
sql
cspttty4 小时前
2026年财务分析岗JD中的Excel、SQL、BI与业务分析要求
大数据·sql·excel
cspttty4 小时前
HR数字化校招准备路线:Excel、SQL、BI和AI工具怎么学
人工智能·sql·excel
yuzhiboyouye15 小时前
那xml对应的sql语法,列举一下
xml·数据库·sql
. . . . .15 小时前
乐观锁 vs 悲观锁
数据库·sql
勤奋的树懒20 小时前
从手写 SQL 到 Windows 工具:致远 OA 文件清理实践
数据库·sql·windows server·致远oa
cspttty1 天前
2026秋招供应链分析师技能栈:SQL、Excel、BI与业务分析
数据库·sql·excel
子非鱼a2 天前
【WEB】[GXYCTF2019]BabySQli
sql