Postgresql

Postgres 備份 PITR 策略

  • September 20, 2019

注意:-可能是這個問題聽起來太寬泛了。但是,我相信,它是一個非常好的平台(stackexchange),我可以在這裡從全球專家 DBA 那裡獲得建議。因為,我無法做出決定或選擇正確的選項。

Que:我是 postgres 的新手,需要為我們不斷增長的數據庫製作 PITR 解決方案。由於數據庫大小正在快速增加,因此還需要計劃增量備份解決方案。如果我們不能失去任何數據並且還需要 PITR,那麼哪一個應該是最好的解決方案:

  • 有一個備用數據庫,如果發生任何故障/災難,請對備用數據庫集群進行完整備份(pg_basebackup)並從該備份(recovery.conf -time)執行 PITR。

    • 不斷進行增量備份+日誌備份。
    • 使用任何 3rd 方工具對 postgres 數據庫進行增量備份和日誌備份。

如果有人建議該選項,請告訴我哪個選項應該更好或任何其他選項。另外,如果我們對該數據庫有多個備用數據庫或任何負面影響,請告訴我數據庫是否會發生任何性能影響保持待機狀態。

-提前致謝!

有很多可能性!

PITR 與待機

PITR 和備用是互補的解決方案:

  • Standby從以下方面恢復很有趣:

    • 物理問題:伺服器崩潰,數據中心不可用
    • 並提供快速切換程序
  • PITR將在數據損壞的情況下為您提供幫助:

如果有人執行了損壞您的數據的操作(DROP TABLE , UPDATE 帶有錯誤的 WHERE 子句……)。然後,您將能夠在此操作之前恢復您的數據庫。

執行

PITR 實施

有很多工具可以幫助您執行 PITR,我已經使用過:

  • 調酒師
  • 沃爾

而且還有:

  • PgBackREST

本文列出並比較了幾種 LINUX 備份工具。

關於 PITR 的實施,我最重要的建議是:

  • 使用現有工具(不要嘗試編寫新工具)
  • 測試你的備份
  • 監控您的備份(並查看監控點失敗)!

備用實施

由於它是本機的,因此在實現方面不需要額外的工具。

但:

  • 正確監控
  • 編寫並測試您的開關程序(並定期重新測試它們,以防止程序在需要時不准確!)

引用自:https://dba.stackexchange.com/questions/249249