Barman备份工具中PostgreSQL 17增量备份的保留策略解析
2025-07-02 09:02:03作者:庞队千Virginia
在企业级数据库管理中,备份策略的合理配置至关重要。本文将以Barman备份工具为例,深入分析PostgreSQL 17数据库增量备份的保留机制,帮助DBA正确理解和配置备份保留策略。
增量备份与保留策略的关系
PostgreSQL 17引入了原生的增量备份功能,这一特性显著提升了备份效率,但也带来了备份管理上的新考量。在Barman工具中,增量备份的保留行为与完整备份有着本质区别。
增量备份本身并不独立参与保留策略的计算,而是依附于其基础完整备份。这是因为增量备份的恢复依赖于整个备份链的完整性——从最近的增量备份回溯到最初的完整备份,任何一个环节缺失都会导致恢复失败。
保留策略配置解析
典型的Barman保留策略配置包含两个关键参数:
-
恢复窗口(retention_policy):定义需要保留多长时间内的恢复能力,如"RECOVERY WINDOW OF 2 WEEKS"表示保留两周内的恢复点。
-
最小冗余度(minimum_redundancy):设置必须保留的最少备份数量,作为恢复窗口的补充保障。
实际案例分析
在一个实际案例中,配置了2周恢复窗口和14个最小冗余备份。观察发现,许多标记为OBSOLETE的备份未被自动清理。这里的星号()表示这些备份虽然超出了恢复窗口,但因满足最小冗余要求而被保留。
最佳实践建议
-
合理设置最小冗余度:对于采用增量备份策略的环境,建议将minimum_redundancy设置为预期的完整备份数量。例如每周一个完整备份,两周恢复窗口,设置为2即可。
-
理解备份状态标记:
- OBSOLETE:已超出保留策略,可安全删除
- OBSOLETE*:超出恢复窗口但因冗余要求保留
- 无标记:在保留策略范围内
-
监控备份链完整性:定期检查备份链是否完整,确保每个增量备份都有对应的完整备份。
通过正确理解这些机制,DBA可以优化备份存储使用,同时确保关键恢复点的可用性。对于PostgreSQL 17用户,特别需要注意增量备份带来的这些管理特性变化。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
469
465
暂无描述
Dockerfile
778
5.08 K
Ascend Extension for PyTorch
Python
757
968
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
876
2.03 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
697
1.4 K
昇腾LLM分布式训练框架
Python
185
231
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.25 K
676
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.14 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
271