使用 Aurora 的 Postgre SQL 邏輯複寫概觀 - Amazon Aurora

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

使用 Aurora 的 Postgre SQL 邏輯複寫概觀

透過將 Postgre SQL 的邏輯複寫功能與 Aurora Postgre 資料SQL庫叢集搭配使用,您可以複寫和同步個別表格,而不是整個資料庫執行個體。邏輯複寫會使用發佈與訂閱模型,將來源中的變更複寫到一或多個收件人。它通過使用 Postgre SQL 預寫日誌()中的更改記錄來工作。WAL來源或發行者會將指定表格的WAL資料傳送給一或多個收件者 (訂閱者),進而複製變更,並讓訂閱者的表格與發行者的表格保持同步。來自發佈者的變更集是使用發佈來識別的。訂閱者取得變更的方式為建立訂閱,定義與發佈者資料庫及其發佈的連線。複寫插槽是此結構描述中用來追蹤訂閱進度的機制。

對於 Aurora Postgre SQL 資料庫叢集,WAL記錄會儲存在 Aurora 儲存體上。在邏輯複寫案例中擔任發行者的 Aurora Postgre 資料SQL庫叢集會讀取 Aurora 儲存體中的WAL資料,將其解碼,然後將其傳送給訂閱者,以便將變更套用至該執行個體上的表格。發佈者會使用邏輯解碼器來解碼資料以供訂閱者使用。根據預設,傳送資料時,Aurora SQL 資料庫叢集會使用原生 Postgre SQL pgoutput 外掛程式。還有其他邏輯解碼器可供使用。例如,Aurora Postgre SQL 也支援將WAL資料轉換為的wal2json外掛程式。JSON

從奧 Aurora 拉波斯特雷 14.5、13.8、12.12 和 11.17 SQL 版開始,奧 Aurora 拉·波斯特格雷透過寫入式快取SQL增強了 Postgre SQL 邏輯複寫程序,以提升效能。WAL交易記錄會在本機快取緩衝區中,以減少磁碟 I/O 的數量,也就是在邏輯解碼期間從 Aurora 儲存區讀取。每當您對 Aurora Postgre SQL 資料庫叢集使用邏輯複寫時,依預設會使用寫入快取。Aurora 提供數個您可以用來管理快取的功能。如需詳細資訊,請參閱監控 Aurora PostgreSQL 邏輯複寫寫入快取

目前所有可用的 Aurora Postgre SQL 版本都支援邏輯複寫。如需詳細資訊,Amazon Aurora Postgre SQL 更新 Aur ora Post SQL gre 版本說明中的版本說明。

下列版本支援 Aurora Postgre SQL 的巴貝爾魚邏輯複寫:

  • 15.7 及更高版本

  • 16.3 及更高版本

注意

除了 Postgre SQL 10 中引入的原生SQL邏輯複製功能之外,Aurora Postgre SQL 還支持擴展。pglogical如需詳細資訊,請參閱使用 pglogical 跨執行個體同步資料

如需 Postgre SQL 邏輯複寫的詳細資訊,請參閱 Postgre SQL 文件中的邏輯複製和邏輯解碼概念