本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範例:搭配使用邏輯複寫與 Aurora 資SQL料庫叢集
下列程序說明如何在兩個 Aurora Postgre SQL 資料庫叢集之間啟動邏輯複寫。發佈者和訂閱者都必須針對邏輯複寫進行設定,如 為您的 Aurora SQL 資料庫叢集設定邏輯複寫 中所述。
作為指定發行者的 Aurora Postgre SQL 資料庫叢集也必須允許存取複寫插槽。若要這麼做,請根據 Amazon VPC 服務修改與 Aurora Postgre SQL 資料庫叢集虛擬公有雲 (VPC) 關聯的安全群組。將與訂閱者相關聯的安全性群組新增VPC至發行者的安全性群組,以允許輸入存取。如需詳細資訊,請參閱 Amazon 使用VPC者指南中的使用安全群組控制資源流量。
完成這些初步步驟後,您可以在發行者和訂閱者CREATE SUBSCRIPTION
上使用 Postgre SQL 命令CREATE PUBLICATION
,如下列程序所述。
啟動兩個 Aurora SQL 資料庫叢集之間的邏輯複寫程序
這些步驟假設您的 Aurora Postgre 資料SQL庫叢集具有一個寫入器執行個體,其中包含可在其中建立範例表格的資料庫。
在發布者 Aurora 後SQL數據庫集群
使用下面的SQL語句創建一個表。
CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY);
使用下列SQL陳述式將資料插入發行者資料庫。
INSERT INTO LogicalReplicationTest VALUES (generate_series(1,10000));
使用下列SQL陳述式確認資料表中是否存在資料。
SELECT count(*) FROM LogicalReplicationTest;
使用
CREATE PUBLICATION
陳述式建立此資料表的發佈,如下所示。CREATE PUBLICATION testpub FOR TABLE LogicalReplicationTest;
-
在訂閱者 Aurora 後SQL資料庫叢集
在訂閱者上建立您已在發佈者上建立的相同
LogicalReplicationTest
資料表,如下所示。CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY);
驗證此資料表是否為空的。
SELECT count(*) FROM LogicalReplicationTest;
建立訂閱以從發佈者取得變更。您需要使用有關發行者 Aurora Postgre 資SQL料庫叢集的下列詳細資料。
主機 — 發行者 Aurora Postgre SQL 資料庫叢集的寫入器資料庫執行個體。
port – 寫入器資料庫執行個體正在聆聽的連接埠。波斯特格雷的預設值SQL為 5432。
dbname – 資料庫的名稱。
CREATE SUBSCRIPTION testsub CONNECTION 'host=
publisher-cluster-writer-endpoint
port=5432 dbname=db-name
user=user
password=password
' PUBLICATION testpub;注意
指定此處所顯示提示以外的密碼,作為安全最佳實務。
建立訂閱後,發佈者會建立一個邏輯複寫槽。
若要確認此範例是否已在訂戶上複製初始資料,請在訂戶資料庫上使用下列SQL陳述式。
SELECT count(*) FROM LogicalReplicationTest;
發佈者發生的任何其他變更會被複寫到訂閱者。
邏輯複寫會影響效能。建議您在複寫任務完成後關閉邏輯複寫。