您好,登錄后才能下訂單哦!
本篇文章為大家展示了PostgreSql備份中pg_probackup的優勢以及用法,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
PostgreSql 備份的軟件(免費)的有不少,pgrman(之前有一篇寫過), Barman (功能很強大,配置很復雜)。最近大佬微信公眾號發布 pg_probackup 功能和ORACLE rman 相差無幾。
下面我們就來看看pg_probackup 何許人也。
pg_probackup是一款免費的postgresql 備份軟件,目前支持到 postgresql 11 , 這是一名 RU 的 DEV 開發者開發的備份工具。作為postgresql 使用流行的國家,相關的軟件也不少(日本,俄羅斯)。
這個小哥哥的其他產品也是很有名,例如 pg_pathman
安裝很簡單,安裝了小哥哥的 repo
rpm -ivh http://repo.postgrespro.ru/pg_probackup/keys/pg_probackup-repo-centos.noarch.rpm
yum install pg_probackup-{11,10,9.6,9.5}
那這個備份軟件到底對比其他的備份有什么優勢
1 可以選擇全備和增量備份方式,加速大庫的備份速度
2 自動數據一致性檢查和按需備份驗證,無需實際的數據恢復
3 在多個并行線程上運行備份、恢復和驗證進程
4 以壓縮狀態存儲備份數據以節省磁盤空間
5 從備用服務器進行備份以避免主服務器上的額外負載
6 簡化WAL日志歸檔的自定義命令
7 備份位于Postgres Pro數據目錄之外的文件和目錄,如配置文件或日志文件
增量備份會包含以下幾種方式
1 頁備份。在這種模式下,pg_probackup將掃描存檔中的所有WAL文件,從上一次完全備份或增量備份開始。新創建的備份只包含在WAL記錄中提到的頁面。這要求自上一次備份以來的所有WAL文件都出現在WAL歸檔中。
2 增量備份。在此模式下,pg_probackup將讀取數據目錄中的所有數據文件,并僅復制自上次備份以來更改的頁面。該模式不需要連續歸檔
3 PTRACK備份。在這種模式下,Postgres Pro動態跟蹤頁面更改。它的運行不需要連續歸檔。每當一個關系頁被更新時,這個頁就會被標記為這個關系的一個特殊的PTRACK位圖。因為一個頁面只需要PTRACK fork中的一個位,所以這樣的位圖非常小。跟蹤意味著在數據庫服務器操作上有一些較小的開銷,但是可以顯著加快增量備份。
需要注意的是進行備份的服務器和恢復的服務器必須通過block_size和wal_block_size參數兼容,并且具有相同的主版本號。
在安裝完pg_probackup 后,第一個工作就是要初始化備份的目錄
(rpm包安裝完畢的需要在執行程序后面帶需要備份數據庫的版本號)
pg_probackup-11 init -B /pgdata/backup/
并且初始化的數據目錄必須是空的,否則會報錯,在初始化后,相關的目錄會自動生成 wal 和 backup 目錄
在初始化目錄后需要,需要初始化需要備份的 instance ,也就是當前的服務器的postgresql 的 數據目錄,并給這個當前的pg 備份的數據庫一個 備份的目錄名。
pg_probackup-11 add-instance -B /pgdata/backup/ -D /pgdata/data/ --instance pg_test
其中有一點需要注意
備份目錄必須屬于數據庫服務器的文件系統。啟動pg_probackup的用戶必須完全訪問備份目錄的內容。如果在BACKUP_PATH環境變量中指定備份目錄的路徑,則可以在運行pg_probackup命令時忽略相應的選項。
配置文件中需要對 archive_command 進行改變
archive_command = 'pg_probackup-11 archive-push -B /pgdata/backup --instance pg_test --wal-file-path %p --wal-file-name %f'
max_wal_senders = 10
hot_standby = on
full_page_writes = on
查看配置好的備份文件
pg_probackup-11 show-config -B /pgdata/backup/ --instance pg_test
在下面直接執行命令,備份test 庫全量備份
pg_probackup-11 backup -B /pgdata/backup/ -b full --instance pg_test -d test -h 192.168.198.123 -p 5432 -U admin -w
在全備完畢后還可以進行增量備份,如果不想輸入秘密,則可以進行.pgpass免密操作
pg_probackup-11 backup -B /pgdata/backup/ -b page --instance pg_test -d test -h 192.168.198.123 -p 5432 -U admin -w
同時也可以查看備份的歷史記錄
也可以進行相關的備份后的 驗證工作
同時對于目錄中的備份的數據可以設置保留期限
pg_probackup set-config -B /pgdata/backup/ --instance pg_test --retention-redundancy 2 --retention-window 7
--retention-redundancy=
redundancy
保留備份多少天 FULL
--retention-window=
window
可恢復多少天之前備份
當然pg_probackup 的命令還有很多,建立一個集中化的備份中心(PG)的也可以通過pg_probackup 來完成,例如建立一臺備份機,(磁盤的夠大)
然后為不同的PG 的數據庫建立備份的目錄,并且通過遠程的方式進行數據的備份,和數據的恢復。
同時,pg_probackup 也支持paralle 并行的方式進行數據備份,這樣速度會更快
同時還可以使用autonomous備份在某些特殊的情況
自動備份可以在無法訪問WAL archive的服務器上恢復。
自治備份使您能夠在WAL文件不再可用時及時恢復集群狀態。
在這些都做完之后我們可以恢復一次數據庫
pg_probackup-11 restore -B /pgdata/backup/ --instance pg_test --recovery-target-time='2019-10-14 23:33:1
在恢復完數據庫后,如果馬上啟動可能會報錯
需要重新設置目錄權限,才可以正常啟動數據庫
上述內容就是PostgreSql備份中pg_probackup的優勢以及用法,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。