centos

CentOS环境下PostgreSQL的更新与升级指南

小樊
47
2025-08-23 01:52:10
栏目: 云计算

CentOS环境下PostgreSQL更新与升级指南

一、准备工作

  1. 备份数据:使用pg_dumpall -U postgres > /path/to/backup.sql命令备份所有数据库。
  2. 检查当前版本:通过psql --versionsudo -u postgres psql -c "SELECT version();"确认当前版本。
  3. 添加官方仓库
    • 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)

  1. 停止服务:sudo systemctl stop postgresql
  2. 更新软件包:sudo yum update postgresql-server
  3. 重启服务:sudo systemctl start postgresql

三、大版本升级(如14.x→15.x)

  1. 安装新版本:sudo yum install postgresql15-server
  2. 初始化新数据目录:sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
  3. 数据迁移
    • 推荐使用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
  4. 重启服务:sudo systemctl restart postgresql-15

四、验证与清理

  1. 验证版本:psql -U postgres -c "SELECT version();"
  2. 清理旧版本(可选):sudo yum remove postgresql14-server

五、注意事项

0
看了该问题的人还看了