天天看點

PostgreSQL 10.1 手冊_部分 III. 伺服器管理_第 31 章 邏輯複制

第 31 章 邏輯複制

目錄

31.1. 釋出
31.2. 訂閱
31.2.1. 複制槽管理
31.3. 沖突
31.4. 限制
31.5. 架構
31.5.1. 初始快照
31.6. 監控
31.7. 安全
31.8. 配置設定
31.9. 快速設定

邏輯複制是根據複制辨別(通常是主鍵)複制資料對象及其更改的一種方法。 我們使用術語邏輯與實體複制相比,它使用确切的塊位址和逐位元組複制。 PostgreSQL同時支援這兩種機制,請參閱

第 26 章

。 邏輯複制允許對資料複制和安全性進行精細控制。

邏輯複制使用釋出和訂閱模型, 其中一個或多個訂閱者訂閱釋出者 節點上的一個或多個釋出。 訂閱者從他們訂閱的釋出中提取資料, 并可能随後重新釋出資料以允許級聯複制或更複雜的配置。

一個表的邏輯複制通常開始于釋出者資料庫上的資料快照并将其複制到訂閱者。 一旦完成,釋出者的變化就會實時發送給訂閱者。訂閱者按照與釋出者相同的順序應用資料, 以保證單個訂閱内的釋出的事務一緻性。這種資料複制方法有時被稱為事務複制。

典型的邏輯複制用例有:

  • 在單個資料庫或資料庫的子集中發送增量更改到訂閱者。
  • 在更改到達訂閱者時為單個更改觸發觸發器。
  • 将多個資料庫合并成一個資料庫(例如出于分析目的)。
  • 在PostgreSQL的不同主要版本之間複制。
  • 為不同的使用者組提供對複制資料的通路。
  • 在多個資料庫之間共享資料庫的一個子集。

訂閱者資料庫的行為與任何其他PostgreSQ執行個體的行為相同, 可以通過定義其自己的釋出來用作其他資料庫的釋出者。 當訂閱者被應用程式視為隻讀時,将不會有單個訂閱的沖突。 但是,如果應用程式或其他訂閱者對同一組表執行其他寫操作,則可能會産生沖突。

本文轉自PostgreSQL中文社群,原文連結: