Windows 上重置 PostgreSQL 密码

发布时间:2026/7/11 15:59:28
Windows 上重置 PostgreSQL 密码 在 Windows 上重置 PostgreSQL 密码核心思路是临时修改认证配置让数据库“信任”本地连接从而免密登录并重置密码。操作完成后一定要把安全设置改回来。整个过程分为以下 5 个步骤第1步停止 PostgreSQL 服务首先需要让数据库停下来才能修改它的配置文件。按下Win R键输入services.msc并回车打开“服务”管理界面。在服务列表中找到名为postgresql-x64-你的版本号的服务例如postgresql-x64-16。右键点击该服务选择停止。第2步修改pg_hba.conf配置文件这是最关键的一步。这个文件管理着数据库的登录权限我们将临时允许本地无密码登录。定位文件打开文件资源管理器进入 PostgreSQL 的数据目录默认路径通常是C:\Program Files\PostgreSQL\你的版本号\data\。编辑文件用记事本或其他文本编辑器建议以管理员身份运行打开该目录下的pg_hba.conf文件。修改认证方式在文件中找到如下所示的本地连接配置行IPv4 和 IPv6将其METHOD最后一列从md5或scram-sha-256临时改为trust。修改前text# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 # IPv6 local connections: host all all ::1/128 scram-sha-256修改后text# IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust安全提示trust意味着任何人都可以无需密码登录所以这个只是临时操作。完成后务必改回原值。第3步重新启动 PostgreSQL 服务回到“服务”管理界面找到刚才那个 PostgreSQL 服务右键点击并选择启动。第4步使用psql免密登录并重置密码现在因为配置了trust你可以无需密码就登录数据库并修改密码了。打开命令提示符cmd或 PowerShell。输入以下命令登录如果你的psql不在系统 Path 中需要先 cd 到 PostgreSQL 的bin目录下例如cd C:\Program Files\PostgreSQL\16\binbashpsql -U postgres此时应该可以直接进入psql的命令行界面。在psql提示符下执行以下命令将postgres用户的密码修改为你记得住的新密码例如MyNewPassword123sqlALTER USER postgres WITH PASSWORD 你的新密码;输入\q并按回车退出psql。第5步恢复安全设置并验证重置密码后必须将安全配置改回去。再次回到data目录用编辑器打开pg_hba.conf文件。将刚才修改为trust的那几行改回原来的md5或scram-sha-256。保存文件后再次重启一次PostgreSQL 服务让配置生效。现在你就可以用新设置的密码正常登录 PostgreSQL 了。