温馨提示×

centos如何升级postgresql

小樊
54
2026-09-09 10:18:48
栏目: 云计算

在 CentOS 上升级 PostgreSQL 需要根据当前版本和目标版本来区分操作方式。下面我按常见场景给你讲清楚。


一、先确认当前版本和安装方式

psql --version
rpm -qa | grep postgres

常见两种情况:

  1. 系统自带版本(yum 安装)
  2. 官方仓库安装(pgdg)

二、小版本升级(如 13.4 → 13.10)

✅ 不用担心数据,直接升级即可。

1. 使用 yum 升级

sudo yum update postgresql*

2. 重启服务

sudo systemctl restart postgresql-13

小版本升级不需要 pg_upgrade


三、大版本升级(如 12 → 15)

⚠️ 必须注意:大版本不兼容,不能直接 yum update

推荐方式:pg_upgrade


步骤示例(12 → 15)

1. 添加 PostgreSQL 官方仓库

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

(CentOS 8 用 EL-8)

2. 安装新版本

sudo yum install -y postgresql15-server postgresql15

3. 初始化新版本(不要启动)

/usr/pgsql-15/bin/postgresql-15-setup initdb

4. 停止旧版本

sudo systemctl stop postgresql-12
sudo systemctl stop postgresql-15

5. 使用 pg_upgrade

su - postgres
/usr/pgsql-15/bin/pg_upgrade \
  --old-datadir=/var/lib/pgsql/12/data \
  --new-datadir=/var/lib/pgsql/15/data \
  --old-bindir=/usr/pgsql-12/bin \
  --new-bindir=/usr/pgsql-15/bin

6. 启动新版本

sudo systemctl start postgresql-15

四、使用逻辑备份升级(最安全)

适合跨大版本 / 云迁移

pg_dumpall -U postgres > all.sql

新版本建好后:

psql -U postgres < all.sql

五、常见坑提醒

✅ 升级前一定备份
✅ 检查 postgresql.conf 和 pg_hba.conf
✅ 扩展插件(postgis、pg_stat_statements)需重新安装
✅ 防火墙 / 端口确认


六、我可以继续帮你

你可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 当前 PostgreSQL 版本
  • 目标版本

我可以给你一步一步精确命令。

0 踩