PostgreSQL 備份恢復工具之 Barman

作者: 不剪發(fā)的Tony老師
畢業(yè)于北京航空航天大學,十多年數(shù)據(jù)庫管理與開發(fā)經(jīng)驗,目前在一家全球性的金融公司從事數(shù)據(jù)庫架構(gòu)設計。CSDN學院簽約講師以及GitChat專欄作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net

文章目錄

        Barman 簡介
        Barman 與 pg_dump 對比

Barman 簡介

Barman(Backup and Recovery Manager,備份與恢復管理器)是一個用于 PostgreSQL 數(shù)據(jù)庫災難恢復的開源管理工具,使用 Python 編寫。Barman 使得企業(yè)能夠執(zhí)行多個關鍵業(yè)務數(shù)據(jù)庫的遠程備份,并且協(xié)助 DBA 執(zhí)行災難時的數(shù)據(jù)恢復。

Barman 用于 PostgreSQL 數(shù)據(jù)庫的物理備份,與 Oracle 的備份恢復工具 RMAN 非常類似。

Barman 由 2ndQuadrant 公司開發(fā)和維護,基于 GNU GPL 3 協(xié)議發(fā)行。

Barman 主要的功能和目標如下:

    PostgreSQL 服務器的完全物理熱備
    時間點恢復(PITR)
    管理多個 PostgreSQL 服務器
    通過 rsync/SSH 或 pg_basebackup 執(zhí)行遠程備份(包括 9.2+ 備用服務器)
    支持本地和遠程(通過 SSH)恢復
    支持 WAL 歸檔和流復制
    支持同步 WAL 流復制(“零數(shù)據(jù)丟失”,PRO=0)
    增量備份與恢復
    并行備份和恢復
    WAL 文件的集中管理,增強了與備用服務器之間的集成
    管理備份和 WAL 文件的保留策略
    獲取服務器狀態(tài)和信息
    WAL 文件壓縮(bzip2、gzip 或者 custom)
    通過備份目錄管理基礎備份和 WAL 文件
    簡單單一的 INI 配置文件
    完全使用 Python 編寫
    恢復時的 PGDATA 和表空間位置移動
    備份通用信息和磁盤占用信息
    服務器備份診斷
    與標準歸檔工具(例如 tar)進行集成
    備份前/后的鉤子腳本
    元數(shù)據(jù)的本地存儲

Barman 與 pg_dump 對比

pg_dump 是執(zhí)行 PostgreSQL 邏輯備份的官方工具。邏輯備份是數(shù)據(jù)庫中所有對象和數(shù)據(jù)的一個快照。通常來說,執(zhí)行邏輯備份是一個很好的實踐,但是對于災難恢復而言并不足夠。

如果你每天在早上 3 點執(zhí)行一次邏輯備份,然后在下午 6 點發(fā)生系統(tǒng)故障,可能會丟失 15 個小時的交易數(shù)據(jù)。對于大多數(shù)的關鍵業(yè)務場景而言,這都是無法接受的。

從另一方面來說,Barman,使用 PostgreSQL 物理備份技術,能夠保證非常低的恢復點目標(RPO)?;?PostgreSQL 的業(yè)務系統(tǒng)推薦使用物理備份實現(xiàn)災難恢復,而 Barman 能夠提供使簡單易行的備份管理以及可靠的恢復。

下一步:Barman 文檔。