CentOS环境下PostgreSQL的更新与升级指南
小樊
54
2025-08-23 01:52:10
CentOS环境下PostgreSQL更新与升级指南
一、准备工作
- 备份数据:使用
pg_dumpall -U postgres > /path/to/backup.sql命令备份所有数据库。
- 检查当前版本:通过
psql --version或sudo -u postgres psql -c "SELECT version();"确认当前版本。
- 添加官方仓库:
- CentOS 7:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm。
- CentOS 8:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm。
二、小版本升级(如14.5→14.7)
- 停止服务:
sudo systemctl stop postgresql。
- 更新软件包:
sudo yum update postgresql-server。
- 重启服务:
sudo systemctl start postgresql。
三、大版本升级(如14.x→15.x)
- 安装新版本:
sudo yum install postgresql15-server。
- 初始化新数据目录:
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb。
- 数据迁移:
- 推荐使用
pg_upgrade(需确保新旧版本兼容):
- 检查兼容性:
sudo /usr/pgsql-15/bin/pg_upgrade -c -b /usr/pgsql-14/bin -B /usr/pgsql-15/bin -d /var/lib/pgsql/14/data -D /var/lib/pgsql/15/data。
- 执行升级:
sudo /usr/pgsql-15/bin/pg_upgrade -b /usr/pgsql-14/bin -B /usr/pgsql-15/bin -d /var/lib/pgsql/14/data -D /var/lib/pgsql/15/data。
- 或使用逻辑转储(更安全但耗时):
- 导出数据:
sudo -u postgres pg_dumpall -f /path/to/backup.sql。
- 导入数据:
sudo -u postgres psql -f /path/to/backup.sql postgres。
- 重启服务:
sudo systemctl restart postgresql-15。
四、验证与清理
- 验证版本:
psql -U postgres -c "SELECT version();"。
- 清理旧版本(可选):
sudo yum remove postgresql14-server。
五、注意事项
- 兼容性:大版本升级前需确认新版本与应用程序的兼容性,可参考PostgreSQL官方升级指南。
- 服务中断:升级过程中可能会有短暂服务中断,建议在非高峰时段操作。
- 配置文件:升级后需检查并更新
postgresql.conf和pg_hba.conf等配置文件。