溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

發(fā)布時(shí)間:2021-10-12 15:03:36 來源:億速云 閱讀:248 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了PostgreSql備份中pg_probackup的優(yōu)勢以及用法,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

PostgreSql 備份的軟件(免費(fèi))的有不少,pgrman(之前有一篇寫過), Barman (功能很強(qiáng)大,配置很復(fù)雜)。最近大佬微信公眾號(hào)發(fā)布 pg_probackup 功能和ORACLE rman 相差無幾。 

下面我們就來看看pg_probackup 何許人也。

pg_probackup是一款免費(fèi)的postgresql 備份軟件,目前支持到 postgresql 11 , 這是一名 RU 的 DEV 開發(fā)者開發(fā)的備份工具。作為postgresql 使用流行的國家,相關(guān)的軟件也不少(日本,俄羅斯)。

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

這個(gè)小哥哥的其他產(chǎn)品也是很有名,例如 pg_pathman

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

安裝很簡單,安裝了小哥哥的 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}

那這個(gè)備份軟件到底對比其他的備份有什么優(yōu)勢

1 可以選擇全備和增量備份方式,加速大庫的備份速度

2 自動(dòng)數(shù)據(jù)一致性檢查和按需備份驗(yàn)證,無需實(shí)際的數(shù)據(jù)恢復(fù)
3 在多個(gè)并行線程上運(yùn)行備份、恢復(fù)和驗(yàn)證進(jìn)程

4 以壓縮狀態(tài)存儲(chǔ)備份數(shù)據(jù)以節(jié)省磁盤空間

5 從備用服務(wù)器進(jìn)行備份以避免主服務(wù)器上的額外負(fù)載

6 簡化WAL日志歸檔的自定義命令

7 備份位于Postgres Pro數(shù)據(jù)目錄之外的文件和目錄,如配置文件或日志文件

增量備份會(huì)包含以下幾種方式

1 頁備份。在這種模式下,pg_probackup將掃描存檔中的所有WAL文件,從上一次完全備份或增量備份開始。新創(chuàng)建的備份只包含在WAL記錄中提到的頁面。這要求自上一次備份以來的所有WAL文件都出現(xiàn)在WAL歸檔中。

2 增量備份。在此模式下,pg_probackup將讀取數(shù)據(jù)目錄中的所有數(shù)據(jù)文件,并僅復(fù)制自上次備份以來更改的頁面。該模式不需要連續(xù)歸檔

3 PTRACK備份。在這種模式下,Postgres Pro動(dòng)態(tài)跟蹤頁面更改。它的運(yùn)行不需要連續(xù)歸檔。每當(dāng)一個(gè)關(guān)系頁被更新時(shí),這個(gè)頁就會(huì)被標(biāo)記為這個(gè)關(guān)系的一個(gè)特殊的PTRACK位圖。因?yàn)橐粋€(gè)頁面只需要PTRACK fork中的一個(gè)位,所以這樣的位圖非常小。跟蹤意味著在數(shù)據(jù)庫服務(wù)器操作上有一些較小的開銷,但是可以顯著加快增量備份。

需要注意的是進(jìn)行備份的服務(wù)器和恢復(fù)的服務(wù)器必須通過block_size和wal_block_size參數(shù)兼容,并且具有相同的主版本號(hào)。

在安裝完pg_probackup 后,第一個(gè)工作就是要初始化備份的目錄

(rpm包安裝完畢的需要在執(zhí)行程序后面帶需要備份數(shù)據(jù)庫的版本號(hào))

pg_probackup-11 init -B /pgdata/backup/

并且初始化的數(shù)據(jù)目錄必須是空的,否則會(huì)報(bào)錯(cuò),在初始化后,相關(guān)的目錄會(huì)自動(dòng)生成 wal  和 backup 目錄

在初始化目錄后需要,需要初始化需要備份的 instance ,也就是當(dāng)前的服務(wù)器的postgresql 的 數(shù)據(jù)目錄,并給這個(gè)當(dāng)前的pg 備份的數(shù)據(jù)庫一個(gè) 備份的目錄名。

 pg_probackup-11 add-instance -B /pgdata/backup/ -D /pgdata/data/ --instance pg_test

其中有一點(diǎn)需要注意

備份目錄必須屬于數(shù)據(jù)庫服務(wù)器的文件系統(tǒng)。啟動(dòng)pg_probackup的用戶必須完全訪問備份目錄的內(nèi)容。如果在BACKUP_PATH環(huán)境變量中指定備份目錄的路徑,則可以在運(yùn)行pg_probackup命令時(shí)忽略相應(yīng)的選項(xiàng)。

配置文件中需要對 archive_command 進(jìn)行改變

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

在下面直接執(zhí)行命令,備份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

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

在全備完畢后還可以進(jìn)行增量備份,如果不想輸入秘密,則可以進(jìn)行.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

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

同時(shí)也可以查看備份的歷史記錄

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

也可以進(jìn)行相關(guān)的備份后的 驗(yàn)證工作

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

同時(shí)對于目錄中的備份的數(shù)據(jù)可以設(shè)置保留期限

 pg_probackup set-config -B /pgdata/backup/ --instance pg_test --retention-redundancy 2 --retention-window 7

--retention-redundancy=redundancy

保留備份多少天 FULL 

--retention-window=window

可恢復(fù)多少天之前備份

當(dāng)然pg_probackup 的命令還有很多,建立一個(gè)集中化的備份中心(PG)的也可以通過pg_probackup 來完成,例如建立一臺(tái)備份機(jī),(磁盤的夠大)

然后為不同的PG 的數(shù)據(jù)庫建立備份的目錄,并且通過遠(yuǎn)程的方式進(jìn)行數(shù)據(jù)的備份,和數(shù)據(jù)的恢復(fù)。

同時(shí),pg_probackup 也支持paralle 并行的方式進(jìn)行數(shù)據(jù)備份,這樣速度會(huì)更快

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

同時(shí)還可以使用autonomous備份在某些特殊的情況

自動(dòng)備份可以在無法訪問WAL archive的服務(wù)器上恢復(fù)。
自治備份使您能夠在WAL文件不再可用時(shí)及時(shí)恢復(fù)集群狀態(tài)。

在這些都做完之后我們可以恢復(fù)一次數(shù)據(jù)庫

pg_probackup-11 restore -B /pgdata/backup/ --instance pg_test --recovery-target-time='2019-10-14 23:33:1

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

在恢復(fù)完數(shù)據(jù)庫后,如果馬上啟動(dòng)可能會(huì)報(bào)錯(cuò)

PostgreSql備份中pg_probackup的優(yōu)勢以及用法

需要重新設(shè)置目錄權(quán)限,才可以正常啟動(dòng)數(shù)據(jù)庫

上述內(nèi)容就是PostgreSql備份中pg_probackup的優(yōu)勢以及用法,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI