ubuntu

Ubuntu PostgreSQL版本升级指南

小樊
50
2025-09-11 00:54:32
栏目: 云计算

Ubuntu PostgreSQL版本升级指南

一、准备工作

  1. 备份数据:使用pg_dumpall命令备份所有数据库,如sudo -u postgres pg_dumpall > /path/to/backup.sql
  2. 检查当前版本:通过sudo -u postgres psql -c "SELECT version();"查看当前版本。
  3. 确认兼容性:大版本升级需查阅官方文档,确保新版本与旧版本兼容。

二、小版本升级(如14.5→14.7)

  1. 更新软件包
    • 添加官方仓库(若未添加):
      sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
      wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
      sudo apt update
      
    • 安装新版本:sudo apt install postgresql-<小版本号>
  2. 重启服务sudo systemctl restart postgresql

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

  1. 安装新版本
    • 添加官方仓库(若未添加):
      sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
      wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
      sudo apt update
      
    • 安装新版本,如sudo apt install postgresql-15
  2. 停止旧服务sudo systemctl stop postgresql
  3. 初始化新数据库sudo /usr/lib/postgresql/15/bin/pg_ctl initdb -D /var/lib/postgresql/15/main/
  4. 迁移数据
    • 方法一:使用pg_upgrade(推荐,快速)
      • 检查兼容性:sudo -u postgres /usr/lib/postgresql/15/bin/pg_upgrade --old-bindir /usr/lib/postgresql/14/bin --new-bindir /usr/lib/postgresql/15/bin --old-datadir /var/lib/postgresql/14/main --new-datadir /var/lib/postgresql/15/main --check
      • 执行升级:sudo -u postgres /usr/lib/postgresql/15/bin/pg_upgrade --old-bindir /usr/lib/postgresql/14/bin --new-bindir /usr/lib/postgresql/15/bin --old-datadir /var/lib/postgresql/14/main --new-datadir /var/lib/postgresql/15/main --link
      • 更新统计信息:sudo -u postgres /usr/lib/postgresql/15/bin/vacuumdb --all --analyze-in-stages
    • 方法二:逻辑转储(安全,跨版本兼容)
      • 导出数据:sudo -u postgres pg_dumpall -f /path/to/backup.sql
      • 创建新数据库集群并导入数据。
  5. 配置新版本:复制旧配置文件到新目录并修改(如端口等)。
  6. 启动新服务sudo systemctl start postgresql@15-main
  7. 验证升级sudo -u postgres psql -p <新端口> -c "SELECT version();"

四、注意事项

0
看了该问题的人还看了