使用 pgBackRest 备份 PostgreSQL
PITR 是否可用取决于备份和 WAL 连续性,不取决于备份任务是否显示成功
pgBackRest 管理 PostgreSQL 物理备份、WAL 归档、保留和时间点恢复。官方用户指南按 stanza 创建、配置检查、备份、恢复和监控组织完整流程。pgBackRest 官方指南
- 自建 PostgreSQL 的全量、差异、增量备份与 WAL 归档
- 需要时间点恢复、独立仓库、并行备份和恢复的环境
- 通过物理备份构建新实例或灾难恢复环境
- 只能使用托管数据库 SQL 接口、无法配置归档或访问数据目录的实例
- PostgreSQL 大版本升级:应使用逻辑迁移、
pg_upgrade或复制方案并单独评审 - 只恢复某一张表且没有集群级隔离恢复空间的简单需求
- 备份仓库与生产主机分离,配置最小权限、加密和删除保护。
- 仓库密钥、S3 密钥和 SSH 私钥使用权限受限的配置包含文件或密钥系统,不放入命令与日志。
- 记录 PostgreSQL 大版本、数据目录、表空间、归档命令、时区和复制拓扑。
- 设计全量、差异、增量与 WAL 的共同保留期,避免有备份但缺少目标时间所需 WAL。
配置完成后创建 stanza 并检查归档;check 会验证仓库、数据库和 WAL 归档配置:
执行明确类型的备份并查看信息:
官方指南说明在线备份会等待一致性所需的 WAL 到达归档,归档超时必须按真实链路调整,不能忽略缺失段。pgBackRest 用户指南
先在隔离 PostgreSQL 集群验证最新备份,再演练指定备份和指定时间点。不要在生产数据目录直接试验 --delta,因为它会删除与备份 Manifest 不一致的文件。
恢复记录必须明确:仓库编号、备份 label、目标时间与时区、目标 timeline、目标动作、隔离数据目录和恢复后是否允许写入。实际 restore 命令从评审后的配置生成,先停止隔离实例并确认目标路径。
check、backup、info和 restore 的日志与退出码- 备份 label、起止 LSN、WAL 最小/最大范围和保留策略
- 隔离集群启动、恢复目标是否达到、timeline 和只读检查
- 数据库与表数量、关键查询、业务对账、扩展与表空间
- 实测恢复耗时、数据损失窗口和目标 RTO/RPO 比较
时间点恢复必须证明目标确实到达。官方示例显示,当恢复在目标之前结束时 PostgreSQL 会报告未达到恢复目标;不能只看进程是否启动。pgBackRest 官方指南
check失败时先修复 stanza、仓库或archive_command,不带病生成正式备份。- WAL 缺口时保护现有仓库和主库,确定可达到的最近时间点并重新评估 RPO。
- restore 失败时保存目标目录和日志,不反复改变 label、timeline 和目标时间碰运气。
- 保留策略变更前列出将失效的恢复窗口,并由数据库与业务负责人确认。
pgBackRest 不能替代 PostgreSQL 大版本迁移、逻辑兼容评估和应用验收。核验日期:2026-07-14;命令、对象存储后端和版本支持以官方用户指南及命令参考为准。
Built with