← 中文资源

简体中文版本

数据库升级与回滚工作流

为一次大版本升级做演练、扩展与复制检查、经过验证的回滚,以及明确的切换与回退窗口。

阅读英文原文

概述

大版本升级若未经演练,停机时长与兼容性风险都只能靠猜。先在接近生产的数据上盘点扩展与行为差异并演练升级、验证备份可恢复并写明回退步骤与期限,再在窗口内切换并可回退,可把不可逆的操作变成可管理的变更。

关键步骤

  1. 盘点可能改变行为的扩展、驱动与特性。
  2. 在接近生产的副本上演练并测量停机。
  3. 验证备份可恢复,明确回滚步骤与期限。
  4. 在窗口内切换、验证,检查失败则回退。

验证

  • 应用测试套件针对升级后的数据库通过。
  • 复制保持健康。
  • 恢复演练成功完成。
  • 回退期限内旧版本仍可用。

决策点

大型数据库可用逻辑复制降低停机但增加切换步骤;旧版本至少应保留一个完整备份周期与稳定期。

适用范围

本条目围绕「数据库升级与回滚工作流」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。

pg_upgrade --old-datadir /var/lib/pg/15 --new-datadir /var/lib/pg/16 --link
# rehearsal first; keep pg 15 installed for the revert window