温馨提示×

怎么在CentOS装PostgreSQL

小樊
41
2026-07-09 17:06:46
栏目: 云计算

CentOS 上安装 PostgreSQL 常见有三种方式,最推荐的是 官方仓库安装,版本新、稳定、好维护。下面按常见场景一步步来。


一、使用 PostgreSQL 官方仓库安装(✅ 推荐)

1️⃣ 确认 CentOS 版本

cat /etc/centos-release

2️⃣ 安装官方仓库(以 PostgreSQL 16 为例)

如果你需要其他版本(12/13/14/15),把 16 换成对应数字即可

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

⚠️ CentOS 8 / Stream

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

3️⃣ 安装 PostgreSQL

sudo yum install -y postgresql16-server postgresql16-contrib

4️⃣ 初始化数据库

sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

5️⃣ 启动并设置开机自启

sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

6️⃣ 检查运行状态

sudo systemctl status postgresql-16

二、基础配置(常用)

1️⃣ 切换到 postgres 用户

sudo -i -u postgres

2️⃣ 进入数据库

psql

3️⃣ 设置 postgres 用户密码

ALTER USER postgres PASSWORD 'StrongPassword';

退出:

\q

三、允许远程访问(可选)

1️⃣ 修改 postgresql.conf

sudo vi /var/lib/pgsql/16/data/postgresql.conf

修改:

listen_addresses = '*'

2️⃣ 修改 pg_hba.conf

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

添加:

host  all  all  0.0.0.0/0  md5

3️⃣ 重启 PostgreSQL

sudo systemctl restart postgresql-16

四、防火墙放行(如果开了 firewalld)

sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

五、卸载 PostgreSQL

sudo yum remove postgresql16*
sudo rm -rf /var/lib/pgsql

六、常见问题

❓ 找不到 service?

systemctl list-units | grep postgres

❓ 端口被占用?

ss -lntp | grep 5432

七、快速总结(一条线)

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql16-server postgresql16-contrib
/usr/pgsql-16/bin/postgresql-16-setup initdb
systemctl enable --now postgresql-16

如果你告诉我:

  • ✅ CentOS 7 / 8 / Stream?
  • ✅ 是否需要远程访问?
  • ✅ 是否用于生产环境?

我可以给你 更精确、安全 的配置方案。

0