① 备份策略选择助手
根据你的「数据规模 / RPO / RTO / 预算」推荐合适的备份方案。
RPO = 最多能丢多少时间的数据;RTO = 故障到恢复服务的总时长。
📥 输入业务参数
📤 推荐结果
点击「推荐方案」查看建议
📊 三种典型方案对比
| 方案 | 工具 | RPO | RTO | 适用规模 | 典型成本 |
|---|---|---|---|---|---|
| 每日 pg_dump | pg_dump -Fc + cron | 24h | 30 min ~ 几小时 | < 100 GB | 极低 |
| 物理 + WAL 归档 | pg_basebackup + archive_command | 1 min | 1 ~ 3 h | 100 GB ~ 1 TB | 中 |
| pgBackRest | pgBackRest(增量+差异) | < 1 min | < 1 h | 1 TB+ | 中高 |
| WAL-G 云原生 | WAL-G + S3 | < 1 min | 1 h | 云上不限 | 云费用 |
| 同步流复制 + PITR | 主从 + WAL 归档 | 0 | 秒级 (failover) | 金融级 | 高 |
② PITR 恢复时间轴
模拟一次真实的 PITR:基础备份在 T_BASE,
事故发生在 T_BAD。
拖动绿色光标选择「恢复目标时间」,下方会显示需要重放的 WAL 段数与最终结果。
00:0006:0012:0018:0024:00
📋 PITR 恢复计划
📃 自动生成的 recovery 配置
🎬 PITR 全流程动画
点击「播放」开始动画
③ pg_dump 四种格式 · 命令速查
| 格式 | 命令 | 恢复方式 | 并行 dump | 并行 restore | 选择性 |
|---|---|---|---|---|---|
| plain (-Fp) | pg_dump -Fp -f x.sql | psql -f x.sql | ❌ | ❌ | ❌ |
| custom (-Fc) | pg_dump -Fc -f x.dump | pg_restore | ❌ | ✅ -j | ✅ -t/-L |
| directory (-Fd) | pg_dump -Fd -j 4 -f dir/ | pg_restore -j 4 | ✅ -j | ✅ -j | ✅ |
| tar (-Ft) | pg_dump -Ft -f x.tar | pg_restore | ❌ | ❌ | ✅ |
🛠️ 常用 pg_dump 参数速查
选项
-Fc / -Fd / -Fp / -Ft 格式 -j N 并行 worker 数(仅 -Fd) -Z 0~9 压缩级别 -t 'schema.tbl' 仅某表(可重复) -T 'pattern' 排除表 -n 'schema' 仅某 schema -N 'schema' 排除 schema --schema-only 仅结构 --data-only 仅数据 --no-owner 不导 OWNER 信息 --no-privileges 不导 GRANT --serializable-deferrable 可串行化快照 --verbose 详细日志
恢复
pg_restore -d db file 全量恢复 pg_restore -d db -j 8 file 并行恢复 pg_restore -d db -t tbl file 仅某表 pg_restore --schema-only 仅结构 pg_restore --data-only 仅数据 pg_restore -l file 看清单 pg_restore -L toc.list 按清单恢复 pg_restore -f - file 仅生成 SQL ★ 全局对象: pg_dumpall --globals-only 角色 / 表空间 ★ 物理备份: pg_basebackup -X stream -P -c fast