在 CentOS 上重置 PostgreSQL 密码,通常有以下几种常见场景和方法,按推荐使用顺序说明。
sudo -i -u postgres
psql
ALTER USER postgres WITH PASSWORD '新密码';
\q
✅ 适用于:记得系统 postgres 用户权限,但忘了数据库密码
如果你连 postgres 系统用户都进不去或提示密码错误:
psql -t -c "SHOW hba_file;"
或常见路径:
/var/lib/pgsql/12/data/pg_hba.conf
sudo vi /var/lib/pgsql/12/data/pg_hba.conf
将:
local all all peer
改成:
local all all trust
sudo systemctl restart postgresql
psql -U postgres
ALTER USER postgres WITH PASSWORD '新密码';
改回 peer 或 md5,再重启服务
systemctl stop postgresql
postgres --single -D /var/lib/pgsql/12/data postgres
ALTER USER postgres WITH PASSWORD '新密码';
Ctrl + D 退出,再启动服务。
| 版本 | 数据目录 |
|---|---|
| PostgreSQL 10 | /var/lib/pgsql/10/data |
| PostgreSQL 12 | /var/lib/pgsql/12/data |
| PostgreSQL 13 | /var/lib/pgsql/13/data |
psql -U postgres -h localhost
如果你能告诉我:
postgres 系统用户密码我可以给你更精确的命令。