Postgresql
Postgresql - 增加 WAL 保留,以避免從站與主站不同步
我設置了一個主/從
Postgresql
*(13.4)*組,1個主和1個從,使用WAL熱備用。(參考:https ://postgresql.org/docs/current/warm-standby.html#STANDBY-SERVER-SETUP )從站不同步,並且由於主站上不再存在 WAL 而無法恢復,有關詳細資訊,請參閱另一個問題:Postgresql - 在與使用 WAL 的主站不同步後恢復從站
現在,我正在重新做奴隸。master上有3.7T數據,而且增長很快,大概每天30Gb ?
為了避免從站再次不同步,我正在嘗試增加 WAL 保留。
這是我打算做的事情:
max_wal_size = 20Gb
min_wal_size = 10GB
問題:
- A-1。上述參數值是否正確?
- A-2。增加這些參數是否有不好的副作用?
- A-3。我只需要將這 2 個參數應用到 master 上,對嗎?
- 乙。我應該配置更多參數嗎?
- C. _ 有沒有更好的方法來避免從站不同步?
謝謝你。
不,這根本沒有幫助。
您有三個備選方案:
- 增加到
wal_keep_size
足夠大的值這是一個簡單但粗略的解決方案,因為它使主節點始終保留一定數量的 WAL,無論它是太多還是不夠(因為停機時間比預期的要長)。
- 設置一個
restore_command
on the,這樣它就可以使用 WAL 歸檔來趕上如果您有 WAL 存檔,這可能是最佳選擇。
- 使用物理複製槽
這樣的對象標記了 WAL 流中的某個位置,並防止主伺服器丟棄備用伺服器仍需要的 WAL。雖然這是一個優雅的解決方案,但如果備用伺服器停機時間過長,這將承擔破壞主伺服器的風險。因此,在這種情況下監控複製和/或設置
max_slot_wal_keep_size
對保留在主節點上的 WAL 數量設置上限是一個好主意。