溫馨提示×

溫馨提示×

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

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

Postgresql的常見備份方式

發(fā)布時間:2020-07-30 13:52:01 來源:億速云 閱讀:277 作者:清晨 欄目:編程語言

這篇文章主要介紹Postgresql的常見備份方式,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

數(shù)據(jù)庫的備份有多種分類方式。按照備份后的文件類型,可以分為物理備份(文件系統(tǒng)級別的備份)和邏輯備份(備份后的文件是sql文件或特定格式的導(dǎo)出文件);按照備份過程中是否停止數(shù)據(jù)庫服務(wù),可分為冷備份(備份過程中停止數(shù)據(jù)庫服務(wù))和熱備份(備份過程中數(shù)據(jù)庫服務(wù)開啟并可供用戶訪問);按照備份是否是完整的數(shù)據(jù)庫,可分為全量備份(備份是完整的數(shù)據(jù)庫)和增量備份(備份是上一次全量備份后數(shù)據(jù)庫改變的內(nèi)容)。

Postgresql的常見備份方式有以下三種:

1、文件系統(tǒng)級別的冷備份

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

2、SQL轉(zhuǎn)儲

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

這種方式可以在數(shù)據(jù)庫正在使用的時候進(jìn)行完整一致的備份,并不阻塞其它用戶對數(shù)據(jù)庫的訪問。它會產(chǎn)生一個腳本文件,里面包含備份開始時,已創(chuàng)建的各種數(shù)據(jù)庫對象的SQL語句和每個表中的數(shù)據(jù)??梢允褂脭?shù)據(jù)庫提供的工具pg_dumpall和pg_dump來進(jìn)行備份。pg_dump只備份數(shù)據(jù)庫集群中的某個數(shù)據(jù)庫的數(shù)據(jù),它不會導(dǎo)出角色和表空間相關(guān)的信息,因為這些信息是整個數(shù)據(jù)庫集群共用的,不屬于某個單獨(dú)的數(shù)據(jù)庫。pg_dumpall,對集簇中的每個數(shù)據(jù)庫調(diào)用pg_dump來完成該工作,還會還轉(zhuǎn)儲對所有數(shù)據(jù)庫公用的全局對象(pg_dump不保存這些對象)。 目前這包括適數(shù)據(jù)庫用戶和組、表空間以及適合所有數(shù)據(jù)庫的訪問權(quán)限等屬性。

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

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

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

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

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

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

3、連續(xù)歸檔

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

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

(2)可以結(jié)合一個無窮長的WAL文件序列用于重放,可以通過簡單地歸檔WAL文件來達(dá)到連續(xù)備份。

(3)不需要重放WAL項一直到最后??梢栽谌魏吸c(diǎn)停止重放,并使數(shù)據(jù)庫恢復(fù)到當(dāng)時的一致狀態(tài)。

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

以上是Postgresql的常見備份方式的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(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)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI