Linux上使用 pgAdmin 制定数据库备份策略
一 策略设计要点
- 明确备份范围:仅库数据、整库、或包含全局对象(如角色/表空间),是否需要对象级细粒度恢复。
- 选择备份类型:
- 逻辑备份:使用 pg_dump/pg_dumpall,便于迁移与对象级恢复,适合常规业务库。
- 物理备份:使用 pg_basebackup,适合快速全量恢复与搭建备库。
- 设定频率与保留:结合变更频率定义全量/增量节奏,并配置保留周期(如保留最近 N 天/周)。
- 存储与隔离:备份落盘到独立磁盘或对象存储,避免与数据库同盘;生产/测试环境分离。
- 安全与合规:对备份加密、限制访问权限,并记录操作审计日志。
- 验证与演练:定期做恢复演练与备份完整性校验,确保可恢复性与 RPO/RTO 达标。
二 在 pgAdmin 中配置备份
- 连接与入口:在 pgAdmin 左侧树连接到目标 PostgreSQL 服务器,右键目标数据库 → Backup…。
- 关键参数建议:
- 格式选择:
- Custom:自定义归档,支持对象级恢复与并行,适合中大型库。
- Tar:标准 tar 归档,跨平台友好。
- Plain:SQL 脚本,便于审阅与小型库迁移。
- Directory:目录格式,分文件存储,适合超大型库并行备份。
- 压缩与并行:设置压缩级别(如 1–9)与并行任务数以平衡速度与体积。
- 内容范围:在 Data Options 选择备份 Pre-data/Data/Post-data,可按需排除对象。
- 执行与校验:执行后在目标目录获取备份文件;可用 pgAdmin 的 Check 功能校验备份完整性。
三 自动化与调度
- 方式一 pgAgent(推荐):在 pgAdmin 中安装并配置 pgAgent,新建作业(Jobs)→ 新建步骤(选择 Backup)→ 指定数据库与备份参数 → 配置调度(如每日 02:00)→ 设置保留策略(如保留最近 30 天)。
- 方式二 Linux crontab + pg_dump:
四 恢复与灾难恢复
- 常规恢复(图形界面):在 pgAdmin 中右键目标库 → Restore…,选择备份文件,按需设置 Sections(Pre/Data/Post)、Clean before restore、Single transaction、Exit on error 等选项后执行。
- 时间点恢复(PITR):
五 监控 验证与常见注意事项
- 监控与日志:记录每次备份的开始/结束时间与结果;对失败告警(邮件/IM)。
- 定期验证:每月做一次恢复演练,抽样执行 pg_restore/psql 校验;使用 pgAdmin 的 Check 功能验证备份可用性。
- 保留与容量:按策略清理过期备份,监控备份盘容量,避免写满导致备份失败。
- 安全:对备份文件加密与访问控制;传输与存储均建议使用加密通道与隔离权限。
- 配置备份:除数据库外,定期备份 pgAdmin 配置目录(~/.pgadmin4/) 与服务器端关键配置,确保平台级可恢复性。
- 影响与窗口:备份对系统有一定负载,建议在业务低峰期执行,并持续监控资源使用。