使用 pglogical 跨執行個體同步資料 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 pglogical 跨執行個體同步資料

所有目前可用的 RDSSQL 版本都支援pglogical延伸。pglogical 延伸模組會預先設定 PostgreSQL 在 10 版中引入的功能相似邏輯複寫功能。如需詳細資訊,請參閱 執行 Amazon RDS for Postgre 的邏輯複寫SQL

pglogical 延伸支援兩個或多個 RDS 適用於 PostgreSQL 資料庫執行個體。它也支援不同 PostgreSQL 版本之間的複寫,以及RDS針對 PostgreSQL 資料庫執行個體在 上執行的資料庫與 Aurora PostgreSQL 資料庫叢集之間的複寫。pglogical 延伸模組會使用發佈-訂閱模型,將資料表和其他物件 (例如序列) 的變更從發佈者複製到訂閱者。它依賴複寫槽,以確保變更從發佈者節點同步到訂閱者節點,其定義如下。

  • 發佈者節點RDS for PostgreSQL 資料庫執行個體,它是要複寫至其他節點的資料來源。發佈者節點定義要在發佈集中複製的資料表。

  • 訂閱者節點RDS for PostgreSQL 資料庫執行個體,其接收來自發佈者的WAL更新。訂閱者會建立訂閱以連線至發佈者,並取得解碼WAL的資料。訂閱者建立訂閱時,系統會在發佈者節點上建立複寫槽。

您可以在以下內容中找到如何設定 pglogical 延伸模組的相關資訊。

pglogical 延伸模組的需求和限制

所有目前可用的 RDS for PostgreSQL 版本都支援pglogical延伸模組。

發佈者節點和訂閱者節點都必須針對邏輯複寫進行設定。

您要從發佈者複寫到訂閱者的資料表必須具有相同的名稱和相同的結構描述。這些資料表亦須包含相同的資料欄,而且這些資料欄必須使用相同的資料類型。發佈者和訂閱者資料表都必須具有相同的主索引鍵。我們建議您僅使用 PRIMARYKEY作為唯一限制條件。

訂閱者節點上的資料表在限制條件和約束條件方面,可能比發佈者節點上的CHECK資料表具有更多的寬鬆NOTNULL限制條件。

pglogical 延伸提供的功能包括 PostgreSQL 內建的邏輯複寫功能 (10 版及更高版本) 不支援的雙向複寫。如需詳細資訊,請參閱使用 pglogical 進行 PostgreSQL 雙向複寫