數據庫維護中備份和恢復重要性毋庸置疑,實現的方式也多種多樣,各有千秋;參照ORACLE備份恢復工具, Postgresql也具備了類似的備份恢復能力。
現對以下幾種備份工具的簡單對比:
鑒于長期使用rman的原因,本文主要介紹pg_rman的部署及使用;
1. 安裝部署
1)下載對應數據庫版本及操作系統的安裝包
https://github.com/ossc-db/pg_rman/releases
當前1.3版本是比較穩定的版本,從1.3.9開始支持PG12以上版本,目前最新支持PG13版本;
2)上傳安裝包并解壓安裝(postgres用戶安裝)
# tar vxf pg_rman-1.3.9-pg12.tar.gz
# cd pg_rman-1.3.9-pg12
# make
# make install
# makeinstallcheck
3)開歸檔
Alter system set wal_level=replica;
Alter system set archive_mode=on;
Alter system set archive_command = cp %p /opt/pg12/arch/%f;
重啟數據庫,也可直接修改配置文件開啟歸檔
4)初始化環境
——設置備份目錄,在用戶配置文件里面添加如下:
——讓環境變量生效
source .bash_profile
$ pg_rman init
pg_rman init
INFO: ARCLOG_PATH is set to /opt/pg12/arch
INFO: SRVLOG_PATH is set to /opt/pg12/data/pg_log
注:在配置歸檔路徑時,路徑不要寫成cp %p /opt/pg12/arch/ar_%f,初始化后ARCLOG_PATH后路徑顯示是/opt/pg12/arch/ar,實際歸檔文件存在/opt/pg12/arch,清理歸檔時會報找不到文件;
[postgres@pg1 pg12]$ ll pg_rman_bk
total 8
drwx------. 5 postgres postgres 48 Jul 7 12:21 20210707
drwx------. 4 postgres postgres 34 Jul 7 11:03 backup
-rw-rw-r--. 1 postgres postgres 69 Jul 7 11:03 pg_rman.ini
-rw-rw-r--. 1 postgres postgres 40 Jul 7 11:03 system_identifier
drwx------. 2 postgres postgres 6 Jul 7 11:03 timeline_history
$ pg_rman backup --backup-mode=full -B /opt/pg12/pg_rman_bk/ -C -P
$ pg_rman validate
INFO: validate: "2021-07-07 12:23:52" backup and archive log files by CRC
INFO: backup "2021-07-07 12:23:52" is valid
查看備份信息:
$ pg_rman show
=====================================================================
StartTime EndTime Mode Size TLI Status
=====================================================================
2021-07-03 12:24:02 2021-07-07 12:24:04 FULL 15MB 1 OK
增量備份(對數據庫做增量備份前先做full備份):
$ pg_rman backup --backup-mode=incremental
INFO: copying database files
INFO: copying archived WAL files
INFO: backup complete
-強制刪除指定時間點之前的所有備份:
pg_rman delete "2021-07-07 12:21:15" -f
pg_archivecleanup /opt/pg12/arch 000000010000000000000003
archive_cleanup_command = pg_archivecleanup /opt/pg12/arch %r
備份策略文件:pg_rman.ini
可配置備份的環境變量、備份選項、備份集保留期限等信息
默認信息如下:
[postgres@pg1 pg_rman_bk]$ cat pg_rman.ini
ARCLOG_PATH=/opt/pg12/arch
SRVLOG_PATH=/opt/pg12/data/pg_log
3. 恢復
恢復數據庫集群:
啟動數據庫:
指定恢復到某個時間點:
pg_rman retore --recovery-target-time="2021-07-07 13:12:26"
更多精彩干貨分享
點擊下方名片關注
IT那活兒
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129821.html
pg_rman備份工具(下) img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; marg...
摘要:平臺采用分布式存儲系統作為虛擬化存儲,用于對接虛擬化計算及通用數據存儲服務,消除集中式網關,使客戶端直接與存儲系統進行交互,并以多副本糾刪碼多級故障域數據重均衡故障數據重建等數據保護機制,確保數據安全性和可用性。云計算平臺通過硬件輔助的虛擬化計算技術最大程度上提高資源利用率和業務運維管理的效率,整體降低 IT 基礎設施的總擁有成本,并有效提高業務服務的可用性、可靠性及穩定性。在解決計算資源的...
摘要:指定要用于查找的口令文件的名稱。前四個字段可以是確定的字面值,也可以使用通配符匹配所有。利用環境變量引用的文件權限也要滿足這個要求,否則同樣會被忽略。在上,該文件被假定存儲在一個安全的目錄中,因此不會進行特別的權限檢查。 pg_dump pg_dump 把一個數據庫轉儲為純文本文件或者是其它格式. 用法: pg_dump [選項]... [數據庫名字] 一般選項: -f, --fi...
摘要:作者譚峰張文升出版日期年月頁數頁定價元本書特色中國開源軟件推進聯盟分會特聘專家撰寫,國內多位開源數據庫專家鼎力推薦。張文升中國開源軟件推進聯盟分會核心成員之一。 很高興《PostgreSQL實戰》一書終于出版,本書大體上系統總結了筆者 PostgreSQL DBA 職業生涯的經驗總結,本書的另一位作者張文升擁有豐富的PostgreSQL運維經驗,目前就職于探探科技任首席PostgreS...
摘要:摘要第九屆中國數據庫技術大會,阿里云數據庫產品專家蕭少聰帶來以阿里云如何打破遷移上云的壁壘為題的演講。于是,阿里云給出了上面的解決方案。 摘要: 2018第九屆中國數據庫技術大會,阿里云數據庫產品專家蕭少聰帶來以阿里云如何打破Oracle遷移上云的壁壘為題的演講。Oracle是指數據庫管理系統,面對Oracle遷移上云的壁壘,阿里云如何能夠打破它呢?本文提出了Oracle 到云數據庫P...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20