debian

Debian下PostgreSQL备份恢复策略

小樊
44
2025-10-04 15:53:27
栏目: 云计算

Debian下PostgreSQL备份恢复策略

一、备份策略

1. 逻辑备份(适用于中小型数据库/跨平台迁移)

核心工具pg_dump(导出SQL脚本)、pg_dumpall(导出所有数据库及角色)。
常用命令

特点:逻辑备份为文本或自定义格式,可跨PostgreSQL版本、跨操作系统恢复;但恢复速度较慢,不适合大型数据库。

2. 物理备份(适用于大型数据库/快速恢复)

核心工具pg_basebackup(复制整个数据库集群文件)。
常用命令

特点:物理备份是数据库文件的完整副本,恢复速度快;需配合WAL归档实现时间点恢复(PITR),适合大型数据库或需要快速恢复的场景。

3. 增量备份(PostgreSQL 17+,减少存储与时间成本)

原理:基于全量备份生成增量备份,仅备份自上次备份以来的WAL日志变化。
前提条件:开启WAL摘要进程(summarize_wal = on)。
常用命令

特点:显著减少备份时间和存储空间,适合频繁备份的大型数据库。

4. WAL归档(实现时间点恢复PITR的关键)

作用:记录所有数据变更,支持恢复到任意时间点(如误删数据、故障前状态)。
配置步骤

注意:WAL归档需与物理备份结合使用,否则无法实现PITR。

5. 自动化与定时任务(避免人为遗漏)

工具cron(Linux系统定时任务)。
配置示例:每天凌晨2点执行全量逻辑备份(压缩后保存到/backups目录):

crontab -e

添加以下内容:

0 2 * * * /usr/bin/pg_dump -U postgres -h localhost -p 5432 -F c -b -v -f /backups/pg_backup_$(date +\%Y\%m\%d).dump mydb

注意:测试定时任务是否正常执行,定期清理过期备份(如保留最近7天的备份)。

二、恢复策略

1. 逻辑备份恢复(SQL/自定义格式)

适用场景:恢复单个数据库、跨版本迁移或逻辑备份文件损坏较轻的情况。
常用命令

注意:恢复前需确保目标数据库存在(若不存在,先用createdb创建)。

2. 物理备份恢复(全量/增量)

适用场景:数据库崩溃、磁盘损坏或需要完整恢复到某个全量备份点。
步骤

注意:若使用增量备份,需先恢复全量备份,再按顺序恢复增量备份(如incr1incr2)。

3. 基于时间点的恢复(PITR,解决误操作/故障)

适用场景:恢复到某个特定时间点(如误删表、数据错误提交)。
前提条件:已开启WAL归档并配置archive_command
步骤

4. 恢复验证(确保数据一致性)

关键步骤

注意:定期测试备份文件的恢复流程,确保在真实故障时能快速恢复。

三、注意事项

0
看了该问题的人还看了