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