溫馨提示×

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

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

postgresql備份格式有哪些,應(yīng)該如何選擇

發(fā)布時(shí)間:2020-07-30 10:14:38 來(lái)源:億速云 閱讀:301 作者:清晨 欄目:編程語(yǔ)言

小編給大家分享一下postgresql備份格式有哪些,應(yīng)該如何選擇,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

數(shù)據(jù)庫(kù)的備份有多種分類(lèi)方式。按照備份后的文件類(lèi)型,可以分為物理備份(文件系統(tǒng)級(jí)別的備份)和邏輯備份(備份后的文件是sql文

件或特定格式的導(dǎo)出文件);按照備份過(guò)程中是否停止數(shù)據(jù)庫(kù)服務(wù),可分為冷備份(備份過(guò)程中停止數(shù)據(jù)庫(kù)服務(wù))和熱備份(備份過(guò)程中

數(shù)據(jù)庫(kù)服務(wù)開(kāi)啟并可供用戶(hù)訪(fǎng)問(wèn));按照備份是否是完整的數(shù)據(jù)庫(kù),可分為全量備份(備份是完整的數(shù)據(jù)庫(kù))和增量備份(備份是上一次全

量備份后數(shù)據(jù)庫(kù)改變的內(nèi)容)。

Postgresql的常見(jiàn)備份方式有以下三種:

1. 文件系統(tǒng)級(jí)別的冷備份。

這種備份方式需要關(guān)閉數(shù)據(jù)庫(kù),然后拷貝數(shù)據(jù)文件的完整目錄。恢復(fù)數(shù)據(jù)庫(kù)時(shí),只需將數(shù)據(jù)目錄復(fù)制到原來(lái)的位置。該方式實(shí)際工作中很少使用。

2. SQL轉(zhuǎn)儲(chǔ)。

這里我們用到的工具是pg_dump和pg_dumpall。

這種方式可以在數(shù)據(jù)庫(kù)正在使用的時(shí)候進(jìn)行完整一致的備份,并不阻塞其它用戶(hù)對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)。它會(huì)產(chǎn)生一個(gè)腳本文件,里面包含備份

開(kāi)始時(shí),已創(chuàng)建的各種數(shù)據(jù)庫(kù)對(duì)象的SQL語(yǔ)句和每個(gè)表中的數(shù)據(jù)??梢允褂脭?shù)據(jù)庫(kù)提供的工具pg_dumpall和pg_dump來(lái)進(jìn)行備份。

pg_dump只備份數(shù)據(jù)庫(kù)集群中的某個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù),它不會(huì)導(dǎo)出角色和表空間相關(guān)的信息,因?yàn)檫@些信息是整個(gè)數(shù)據(jù)庫(kù)集群共用的,不

屬于某個(gè)單獨(dú)的數(shù)據(jù)庫(kù)。pg_dumpall,對(duì)集簇中的每個(gè)數(shù)據(jù)庫(kù)調(diào)用pg_dump來(lái)完成該工作,還會(huì)還轉(zhuǎn)儲(chǔ)對(duì)所有數(shù)據(jù)庫(kù)公用的全局對(duì)象

(pg_dump不保存這些對(duì)象)。 目前這包括適數(shù)據(jù)庫(kù)用戶(hù)和組、表空間以及適合所有數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)權(quán)限等屬性。

例如,在我的計(jì)算機(jī)上,可使用如下命令對(duì)名為dbname的數(shù)據(jù)庫(kù)進(jìn)行備份:

pg_dump  –h 127.0.0.1  -p  5432  -U  postgres -c  -C –f  dbname.sql  dbname

使用如下命令可對(duì)全部pg數(shù)據(jù)庫(kù)進(jìn)行備份。

pg_dumpall –h 127.0.0.1 –p 5432 -U postgres –c  -C –f db_bak.sql

恢復(fù)方式很簡(jiǎn)單。執(zhí)行恢復(fù)命令即可:

psql –h 127.0.0.1 -p 5432 -U postgres –f db_bak.sql

3. 連續(xù)歸檔

這種方式的策略是把一個(gè)文件系統(tǒng)級(jí)別的全量備份和WAL(預(yù)寫(xiě)式日志)級(jí)別的增量備份結(jié)合起來(lái)。當(dāng)需要恢復(fù)時(shí),我們先恢復(fù)文件系統(tǒng)級(jí)別的備份,然后重放備份的WAL文件,把系統(tǒng)恢復(fù)到之前的某個(gè)狀態(tài)。這種備份有顯著的優(yōu)點(diǎn):

不需要一個(gè)完美的一致的文件系統(tǒng)備份作為開(kāi)始點(diǎn)。備份中的任何內(nèi)部不一致性將通過(guò)日志重放來(lái)修正。

可以結(jié)合一個(gè)無(wú)窮長(zhǎng)的WAL文件序列用于重放,可以通過(guò)簡(jiǎn)單地歸檔WAL文件來(lái)達(dá)到連續(xù)備份。

不需要重放WAL項(xiàng)一直到最后。可以在任何點(diǎn)停止重放,并使數(shù)據(jù)庫(kù)恢復(fù)到當(dāng)時(shí)的一致?tīng)顟B(tài)。

可以連續(xù)地將一系列WAL文件輸送給另一臺(tái)已經(jīng)載入了相同基礎(chǔ)備份文件的機(jī)器,得到一個(gè)實(shí)時(shí)的熱備份系統(tǒng)。

看完了這篇文章,相信你對(duì)postgresql備份格式有哪些,應(yīng)該如何選擇有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

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

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

AI