Postgresql
WAL 歸檔和 pg_basebackup
為了備份我們的 postgres 數據庫,我們正在考慮 2 個單獨的選項:
1- 使用 pg_dump 進行邏輯備份 2- 使用一致 WAL 歸檔的 pg_basebackup。
所以我有兩個問題:
1- 我們應該多久進行一次基本備份?我們可以只創建一次,然後歸檔 WAL 文件嗎?
2-我們需要兩種方法還是一種就足夠了?
我們應該多久進行一次基本備份?我們可以只創建一次,然後歸檔 WAL 文件嗎?
可以,但是積累的 WAL 越多,恢復所需的時間就越長。您應該定期進行測試恢復。如果花費“太長時間”(無論這對您的組織意味著什麼),那麼您應該進行新的基礎備份,這將需要重播更少的 WAL。
我通常做的是保留第一個基本備份(對於給定的主要版本),以便我可以 PITR 到任何點。然後保持年度基礎備份,這樣如果從其中一個開始,PITR 可以花費更少的時間。並每月進行一次基本備份,這樣崩潰恢復恢復將花費更少的時間。一旦測試了新的每月基本備份,就會刪除前第二個備份,除非它恰好也是年度備份。如果我執行一些會生成大量 WAL 的維護操作,我可能會進行非週期備份,否則從上個月恢復可能需要很長時間才能重播。當然這只是一個例子,你必須適合自己。
我們需要兩種方法還是一種就足夠了?
在遙遠的將來的某個時候,可能很難找到合適的硬體來恢復基本備份,(虛擬機可能不太受關注,但它只是將其推低了一個級別。它會持續多久是否容易找到仍支持 32 位客戶機的 VM 軟體?)。在這種情況下,邏輯備份可能會有所幫助。如果您還要進行基本備份和歸檔,這就是我能想到的執行*例行“pg_dump”的唯一原因。*我偶爾需要歷史邏輯轉儲,所以我只是在一個虛擬伺服器上進行了 PITR,然後針對該虛擬伺服器執行 pg_dump。