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 文档。