PostgreSQL 备份恢复工具之 Barman
作者: 不剪发的Tony老师
毕业于北京航空航天大学,十多年数据库管理与开发经验,目前在一家全球性的金融公司从事数据库架构设计。CSDN学院签约讲师以及GitChat专栏作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net
文章目录
Barman 简介
Barman 与 pg_dump 对比
Barman 简介
Barman(Backup and Recovery Manager,备份与恢复管理器)是一个用于 PostgreSQL 数据库灾难恢复的开源管理工具,使用 Python 编写。Barman 使得企业能够执行多个关键业务数据库的远程备份,并且协助 DBA 执行灾难时的数据恢复。
Barman 用于 PostgreSQL 数据库的物理备份,与 Oracle 的备份恢复工具 RMAN 非常类似。
Barman 由 2ndQuadrant 公司开发和维护,基于 GNU GPL 3 协议发行。
Barman 主要的功能和目标如下:
PostgreSQL 服务器的完全物理热备
时间点恢复(PITR)
管理多个 PostgreSQL 服务器
通过 rsync/SSH 或 pg_basebackup 执行远程备份(包括 9.2+ 备用服务器)
支持本地和远程(通过 SSH)恢复
支持 WAL 归档和流复制
支持同步 WAL 流复制(“零数据丢失”,PRO=0)
增量备份与恢复
并行备份和恢复
WAL 文件的集中管理,增强了与备用服务器之间的集成
管理备份和 WAL 文件的保留策略
获取服务器状态和信息
WAL 文件压缩(bzip2、gzip 或者 custom)
通过备份目录管理基础备份和 WAL 文件
简单单一的 INI 配置文件
完全使用 Python 编写
恢复时的 PGDATA 和表空间位置移动
备份通用信息和磁盘占用信息
服务器备份诊断
与标准归档工具(例如 tar)进行集成
备份前/后的钩子脚本
元数据的本地存储
Barman 与 pg_dump 对比
pg_dump 是执行 PostgreSQL 逻辑备份的官方工具。逻辑备份是数据库中所有对象和数据的一个快照。通常来说,执行逻辑备份是一个很好的实践,但是对于灾难恢复而言并不足够。
如果你每天在早上 3 点执行一次逻辑备份,然后在下午 6 点发生系统故障,可能会丢失 15 个小时的交易数据。对于大多数的关键业务场景而言,这都是无法接受的。
从另一方面来说,Barman,使用 PostgreSQL 物理备份技术,能够保证非常低的恢复点目标(RPO)。基于 PostgreSQL 的业务系统推荐使用物理备份实现灾难恢复,而 Barman 能够提供使简单易行的备份管理以及可靠的恢复。
下一步:Barman 文档。