文档 v3.7.0 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本。
灾难恢复
经过实战考验的备份策略和自动配置的时间点恢复
时间点恢复(PITR)允许将 PostgreSQL 集群回滚到过去的任何特定时刻,防止软件缺陷或人为错误导致的数据丢失。Pigsty 使用 pgBackRest 进行 PITR,具有可配置的备份策略,使用本地文件系统或 MinIO 等对象存储。

说明
数据库的时间旅行:将您的集群回滚到任何时间点,防止高可用性无法解决的软件缺陷、人为错误和数据损坏场景。
概述
Pigsty 提供 企业级时间点恢复,具有零配置设置、自动备份和灵活的恢复选项。基于 pgBackRest 构建,支持 MinIO/S3,防护数据损坏、人为错误和逻辑灾难。
降低 RPO
通过连续 WAL 归档最小化恢复点目标
数据完整性
增强数据完整性保护,防止损坏
灾难恢复
通过灵活的恢复选项改进灾难恢复能力
PITR 工作原理
PITR 需要两个关键组件协同工作以实现时间点恢复:
实现
Pigsty 提供两种默认备份策略,具有灵活的配置选项:
配置选项
备份配置非常灵活,可以指定选项:
- 仓库类型:本地、S3 或其他支持的后端
- 保留策略:保留备份的时间长度
- 加密:安全备份存储
- 存储位置:多个备份目标
恢复选项
说明
恢复操作应谨慎执行,因为它们将替换当前的数据库状态。
恢复命令允许恢复到各种时间点:
步骤 1
### 最新 WAL 归档 [#latest-wal-archive]
恢复到 WAL 归档中可用的最近点:
```bash
pg-pitr
```
步骤 2
### 特定时间戳 [#specific-timestamp]
恢复到确切的时间点:
```bash
pg-pitr --time="2022-12-30 14:44:44+08"
```
步骤 3
### 命名恢复点 [#named-restore-point]
恢复到之前创建的命名点:
```bash
pg-pitr --name="my-restore-point"
```
步骤 4
### 特定 LSN 或事务 ID [#specific-lsn-or-transaction-id]
恢复到特定的日志序列号或事务:
```bash
pg-pitr --lsn="0/1234567"
pg-pitr --xid="12345"
```
说明
虽然 PITR 对数据恢复很强大,但理想情况下应该与高可用性解决方案结合使用,以全面保护数据免受逻辑和物理故障的影响。