温馨提示×

centos怎样重置postgresql密码

小樊
50
2026-09-03 08:34:53
栏目: 云计算

在 CentOS 上重置 PostgreSQL 密码,通常有以下几种常见场景和方法,按推荐使用顺序说明。


方法一:以系统 postgres 用户直接修改(最常用、最安全)

1. 切换到 postgres 系统用户

sudo -i -u postgres

2. 进入 PostgreSQL 命令行

psql

3. 修改密码

ALTER USER postgres WITH PASSWORD '新密码';

4. 退出

\q

✅ 适用于:记得系统 postgres 用户权限,但忘了数据库密码


方法二:使用本地 socket 免密登录(pg_hba.conf 临时改为 trust)

如果你连 postgres 系统用户都进不去或提示密码错误

1. 找到 pg_hba.conf

psql -t -c "SHOW hba_file;"

或常见路径:

/var/lib/pgsql/12/data/pg_hba.conf

2. 编辑文件

sudo vi /var/lib/pgsql/12/data/pg_hba.conf

将:

local   all   all   peer

改成:

local   all   all   trust

3. 重启 PostgreSQL

sudo systemctl restart postgresql

4. 无密码登录并改密码

psql -U postgres
ALTER USER postgres WITH PASSWORD '新密码';

5. 恢复 pg_hba.conf

改回 peermd5,再重启服务


方法三:单用户模式(紧急情况)

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

如果你能告诉我:

  • PostgreSQL 版本
  • 是否知道 postgres 系统用户密码
  • 是本地还是远程连接

我可以给你更精确的命令

0