Postgresql
如果沒有事務,PostgreSQL >= 10 不會生成 WAL
我注意到如果沒有事務,PostgreSQL >= 10 不會生成 WAL。在以前的版本中,PostgreSQL 在 到期時生成 WAL
archive_timout
,因為它寫了一些空事務。如果沒有人寫入,我希望 PostgreSQL 仍然生成 WAL。有誰知道如何在從 10 開始的版本中執行此操作?
那一定是因為送出 6ef2eba3f:
跳過檢查點,在空閒系統上歸檔。
一些後台活動(如檢查點、存檔超時、備用快照)不應該在空閒系統上發生。不幸的是,到目前為止,要確定係統何時處於空閒狀態並不容易,這挫敗了一些避免空閒系統上的冗餘活動的嘗試。
如果你真的需要定期進行 WAL 活動,最便宜的方法是擁有一份定期
cron
執行的工作。SELECT txid_current()
如果要監視複製,最好以字節為單位測量延遲,這樣就不會受到這個問題的影響。