在 CentOS 上“重置 PostgreSQL”通常有以下几种含义,我先按最常见场景给你说明,你可以按需选择:
如果你只是忘了 postgres 用户密码:
sudo -i -u postgres
psql
ALTER USER postgres WITH PASSWORD '新密码';
退出:
\q
⚠️ 会删除所有数据库和数据,请谨慎操作
sudo systemctl stop postgresql
查看数据目录(一般如下):
sudo ls /var/lib/pgsql/
执行重置(以 PostgreSQL 13 为例):
sudo rm -rf /var/lib/pgsql/13/data/*
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
(版本号按你实际安装修改,如 12、14、15)
sudo systemctl start postgresql
sudo systemctl enable postgresql
sudo systemctl stop postgresql
sudo yum remove postgresql* -y
sudo rm -rf /var/lib/pgsql
sudo yum install postgresql-server postgresql-contrib -y
sudo postgresql-setup initdb
sudo systemctl start postgresql
如果是 pg_hba.conf 被改坏,连不上了:
sudo vi /var/lib/pgsql/13/data/pg_hba.conf
临时改成:
local all all trust
重启:
sudo systemctl restart postgresql
再改密码,最后恢复为 md5 或 scram-sha-256。
我可以给你更精确的一条龙命令。