在 CentOS 上设置或修改 PostgreSQL 密码,通常分为 修改 PostgreSQL 用户密码 和 配置允许密码登录 两部分。下面按常见场景一步步说明(以 CentOS 7/8 + PostgreSQL 12/13/14 为例,其他版本类似)。
sudo -i -u postgres
psql
ALTER USER postgres WITH PASSWORD '新密码';
✅ postgres 是数据库超级用户
✅ 密码要用单引号包裹
退出:
\q
默认 PostgreSQL 可能只允许 peer 或 ident 认证,需要改成 md5 或 scram-sha-256。
sudo find / -name pg_hba.conf
常见路径:
/var/lib/pgsql/12/data/pg_hba.conf
/var/lib/pgsql/13/data/pg_hba.conf
/var/lib/pgsql/data/pg_hba.conf
sudo vi /var/lib/pgsql/12/data/pg_hba.conf
找到类似内容:
local all all peer
host all all 127.0.0.1/32 ident
修改为:
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
✅ md5:传统密码认证
✅ scram-sha-256(推荐,PostgreSQL 10+):
local all all scram-sha-256
host all all 127.0.0.1/32 scram-sha-256
sudo systemctl restart postgresql
或指定版本:
sudo systemctl restart postgresql-12
psql -U postgres -h 127.0.0.1
输入刚才设置的密码 ✅
pg_hba.conf 为 trustpsql -U postgres
md5 并重启CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
sudo -i -u postgres
psql
ALTER USER postgres WITH PASSWORD '123456';
\q
修改 pg_hba.conf → md5 → 重启 PostgreSQL ✅
如果你愿意,可以告诉我:
我可以给你 完全针对你环境的配置示例。