Greenplum数据库常用备份恢复方式主要包含以下三种方法,根据数据规模与业务需求选择合适方案:
一、gp_dump/gp_restore工具
- 全库备份命令:
gp_dump --gp-c --gp-d=/backup_path dbname
生成N×segmentsN \times segmentsN×segments个备份文件(N为segment数量),支持并行备份。恢复时使用:
gp_restore --gp-d=/backup_path --gp-k=timestamp dbname
二、gpcrondump定时任务
- 配置cron定期执行:
gpcrondump -x dbname -u /backup_dir -G -a -g -q
参数说明:
- -G 启用gzip压缩
- -a 跳过存在文件
- -g 包含全局对象
- -q 静默模式
三、gpbackup/gprestore(5.x+版本)
- 并行备份示例:
gpbackup --dbname testdb --backup-dir /data/backups --leaf-partition-data
- 表级恢复:
gprestore --backup-dir /data/backups --timestamp 20231001 --include-schema 'public'
注意事项:
- 备份一致性:建议在维护窗口期执行,避免DDL操作
- 存储规划:备份空间需满足Stotal=1.5×SdatabaseS_{total} = 1.5 \times S_{database}Stotal=1.5×Sdatabase
- 网络带宽:跨机房备份时确保Tbackup<TretentionT_{backup} < T_{retention}Tbackup<Tretention(备份时间小于保留周期)
- 恢复验证:通过checksum验证备份文件完整性:
gpcheckcat -p 5432 dbname
典型备份策略组合:
- 每日增量:gpbackup --incremental
- 每周全量:gpbackup --full
- 每月归档:gp_dump --gp-c --gp-r
恢复性能优化技巧:
- 调整恢复并发度:
gprestore --jobs 16
- 预热存储缓存:
pg_prewarm('table_name')
- 禁用约束检查:
SET constraint_exclusion = off;
3629

被折叠的 条评论
为什么被折叠?



