簡體   English   中英

PostgreSQL 大表邏輯復制無限同步

[英]PostgreSQL Large Table Logical Replication Infinite Sync

我有一個大型且快速增長的 PostgreSQL 表(166GB 索引和 72GB 數據庫)。 我想設置這個表的邏輯復制。 雙方均為 11.4 版。

我試圖這樣做 2 周,但我唯一擁有的是無限同步和不斷增長的副本上的表大小(已經 293 Gb 索引和 88 Gb 表,比原始表多,並且日志中沒有錯誤)。 我還嘗試進行轉儲、恢復並開始同步 - 但現有主鍵出錯。 復制統計的 Backend_xmin 值每周更改一次,但同步狀態仍為“啟動”。 這些服務器之間的網絡連接根本沒有使用(它們在同一個數據中心),實際速度大約為 300-400Kb(看起來它主要是復制過程的流傳輸部分)。

所以問題是如何正確設置大型且快速增長的表的邏輯復制,是否有可能? 謝謝你。

我試圖這樣做 2 周,但我唯一擁有的是無限同步和不斷增長的副本上的表大小(已經 293 Gb 索引和 88 Gb 表,比原始表多,並且日志中沒有錯誤)。

在同步完成之前刪除副本上的非標識索引。

問題完全一樣查看日志發現如下錯誤:

ERROR:  could not receive data from WAL stream: ERROR:  canceling statement due to statement timeout

由於大表,復制因超時而下降 通過增加超時,問題消失了

PS 理想情況下,為復制和主庫設置單獨的超時會更酷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM