本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 波斯特雷SQL邏輯複寫寫快取。
目前所有可用的 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 文件中的邏輯複製