surfup

迁移前测试 PostgreSQL 恢复

只有能恢复到隔离环境并通过检查的备份才有用。

这是一次演练,不是生产恢复操作手册。创建副本前,确认数据库引擎/版本、数据负责人、保留期限、加密和可用磁盘。绝不要通过覆盖生产环境来测试。

创建并识别备份

  • 使用项目文档规定的备份方法并创建一致的快照。记录源数据库、版本、时间戳/时区、大小、加密密钥负责人和校验和。
  • 将加密副本存放在生产主机之外。不要将密钥放入 shell 历史、工单或截图;验证获授权的工作人员能够取得密钥。

恢复到隔离目标

  • 使用目标主版本和兼容的角色/扩展,新建空数据库。使用匹配的 PostgreSQL 恢复工具恢复到该数据库;绝不要将命令指向生产环境。
  • 检查预期表、关键记录的行数、约束、应用启动情况和只读样本工作流。批准迁移前记录恢复耗时和不匹配项。

示例和预期结果

  • 根据格式选择恢复工具:纯 SQL 使用 psql;自定义或 tar 归档使用 pg_restore(通过 pg_restore --list backup.dump 检查)。恢复到一次性隔离数据库,并关闭 worker 和外发集成,只使用测试密钥。绝不要在本次演练中使用生产环境。
  • 记录退出码、耗时、预期表数量和已知聚合检查。如果恢复失败或数量不符,迁移前先在测试主机检查错误、扩展和角色。pg_dump 覆盖单个数据库;全局角色需要单独备份。

主要来源