架構
釋出者上的更改會在它們發生時實時傳送給訂閱者。訂閱者按照資料在釋出者上被提交的順序應用資料,這樣任意單一訂閱中的釋出的事務一致性才能得到保證。
邏輯複製被構建在一種類似於物理流複製的架構上。它由“walsender”和“apply”程序實現。walsender程序開始對WAL的邏輯解碼並且載入標準邏輯解碼外掛(pgoutput)。該外掛把從WAL中讀取的更改轉換成邏輯複製協議並且根據釋出說明過濾資料。然後資料會被連續地使用流複製協議傳輸到應用工作者,應用工作者會把資料對映到本地表並且以正確的事務順序應用它們接收到的更改
訂閱者資料庫上的應用程序總是將session_replication_role設定為replica執行,這會產生觸發器和約束上通常的效果。
邏輯複製應用程序當前僅會引發行觸發器,而不會引發語句觸發器。不過,初始的表同步是以類似一個COPY命令的方式實現的,因此會引發INSERT的行觸發器和語句觸發器。