您好,登錄后才能下訂單哦!
這篇文章主要介紹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è)資訊頻道!
免責(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)容。