在 CentOS 上设置或修改 PostgreSQL 密码,通常分为 修改 postgres 系统用户密码 和 修改 PostgreSQL 数据库用户密码 两种情况。下面按常见场景说明。
sudo -i -u postgres
psql
以修改 postgres 数据库用户 为例:
ALTER USER postgres WITH PASSWORD '新密码';
✅ 如果是其他用户:
ALTER USER 用户名 WITH PASSWORD '新密码';
\q
也可以不进入交互模式:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '新密码';"
如果你希望通过 密码登录(而不是 peer 认证),需要检查配置文件。
sudo find / -name pg_hba.conf
常见路径:
/var/lib/pgsql/12/data/pg_hba.conf
/var/lib/pgsql/14/data/pg_hba.conf
sudo vi /var/lib/pgsql/14/data/pg_hba.conf
将:
local all all peer
改为:
local all all md5
或远程连接:
host all all 0.0.0.0/0 md5
sudo systemctl restart postgresql
⚠️ 注意:这是 Linux 系统用户密码,不是数据库密码。
sudo passwd postgres
psql -U postgres -h localhost
输入密码后成功登录即表示设置成功。
pg_hba.conf 为 trustmd5| CentOS 版本 | PostgreSQL 安装方式 |
|---|---|
| CentOS 7 | yum 默认 9.x / 官方 repo |
| CentOS 8/9 | dnf + PostgreSQL 官方 repo |
如果你愿意,可以告诉我:
我可以给你 完全针对你环境的命令。