Postgresql

Postgresql 複製滯後歐盟/美國

  • May 16, 2013

我有一個 Postgres 9.2.1 伺服器主伺服器(在歐盟進行地理本地化)和 2 個從屬副本(一個在歐盟,一個在美國)。歐盟從站也用於讀取查詢,美國僅用於故障轉移。由於選擇查詢,在歐盟是否可能存在複製滯後 > 比美國副本?

我使用這個查詢來提取複製滯後:

SELECT EXTRACT(MILLISECONDS FROM now() - pg_last_xact_replay_timestamp())

我猜您正在使用帶有“熱備用”選項的 postgresql 自己的流複製,而不是像 slony 或 bucardo 這樣的附加複制系統。

使用流複製時,只要備用伺服器上的事務(包括單個查詢)開始,複製就會暫停,以防止複制覆蓋查詢可能嘗試使用的數據。因此,歐盟的複制滯後可能會更高。這在此處記錄。

從屬副本上的max_standby_streaming_delay配置參數控制 postgresql 等待事務完成的時間。如果事務沒有完成,postgresql 將中止事務,以便它可以趕上複製。通過調整此設置,您可以減少查詢可能導致的延遲時間量,代價是在伺服器需要趕上時取消查詢。

引用自:https://serverfault.com/questions/508333