postgresql數據庫備份恢復

網上已經有很多文章了,但是自己操作發現了“呵呵”。

這裏只是在Windows上面使用數據庫自帶備份工具。

postgresql備份恢復

1.運維方式備份

  (1)停止數據庫,可以拷貝數據庫文件。

  2.邏輯備份

   (1)pg_basebackup.exe

             這是需要啓動歸檔的方式備份,會及時增量備份很及時,恢復也快。

            缺點:需要提前修改數據庫位歸檔模式。備份時還得手工操作,將備份的文件拷貝到合適位置,還得修改數據庫配置。

     也就是你必須是專門的數據庫人員或者運維人員,負責維護數據。

  具體操作就不寫了,按照官方文檔來吧。

(2)pg_dumpall pg_dump

   這2個是可以遠程備份的。具體參數就不介紹了,官方文檔有的。

  2個區別是pg_dumpall 備份所有數據庫,和你連接哪個數據庫沒有關係;pg_dump是備份單個數據庫,要麼設置參數,要麼就是連接的數據庫。

其實pg_dumpall就是啓動的pg_dump,pg_dumpall發現有多少個數據庫就調用多少次。

由於2個工具看單獨使用,也就是可以通過編程控制備份,後面再說。

缺點:(1)慢。

            (2)不能增量,每次都是全部備份,因此很慢

應用開發

根據上面說的,我們有專門維護人員還好,如果沒有,只是一般小項目,要求我們應用程序中做備份恢復功能怎麼辦呢?

只要第二種了。

這裏的問題就一個,沒有增量備份,每次全部備份,會有數據備份不全,丟失數據。

就目前看,一般沒有運維的小項目,可以適當損失數據。這種纔可以在應用上開發備份。

基於目前的情況和了解的東西。可以選擇pg_dumpall備份數據庫結構,不備份數據。pg_dump針對數據庫備份數據。

定期備份或者根據需要立即備份。

另外,這幾個程序都可以從安裝路徑下拷貝出來單獨使用。

他們依賴的幾個庫也都在路徑下。

pg_dumpall備份,用psql恢復。pg_dump備份,用pg_restore恢復。

我整理了一個測試樣例。採用的是二進制目錄備份,不是文本(SQL)備份。大家需要調整自己查閱文檔參數。

優勢是自動壓縮並且並行備份。劣勢是看不懂不是SQL.

需要注意的是,備份恢復時,會刪除所有數據庫內容,包括數據庫,全部重新生成。

官網文檔說不能備份用戶,沒有測試。

爲了測試,我全部拷貝了,並且寫了bat文件,全部打包了。

地址:鏈接: https://pan.baidu.com/s/1L_3UUcotRgtEla-PDYgXyA 提取碼: a635

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章