為您的 Aurora SQL 資料庫叢集設定邏輯複寫 - Amazon Aurora

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

為您的 Aurora SQL 資料庫叢集設定邏輯複寫

設定邏輯複製需要 rds_superuser 權限。您的 Aurora Postgre SQL 資料庫叢集必須設定為使用自訂資料庫叢集參數群組,如以下程序所述,設定必要的參數。如需詳細資訊,請參閱Amazon Aurora 資料庫叢集的資料庫叢集參數群組

為 Aurora 資料庫叢集設定後SQL續SQL邏輯複寫
  1. 登入 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在瀏覽窗格中,選擇您的 Aurora 後SQL資料庫叢集。

  3. 開啟 Configuration (組態) 索引標籤。在執行個體詳細資訊中找出參數群組連結,並於類型清單中選擇資料庫叢集參數群組

  4. 選擇連結以開啟與您的 Aurora Postgre SQL 資料庫叢集相關聯的自訂參數。

  5. Parameters (參數) 搜尋欄位中,輸入 rds 以尋找 rds.logical_replication 參數。此參數的預設值為 0,表示預設為關閉。

  6. 選擇 Edit parameters (編輯參數) 以存取屬性值,然後從選取器中選擇 1 以開啟功能。根據您預期的使用情況,您可能也需要變更下列參數的設定。不過,在許多情況下,預設值就足夠了。

    • max_replication_slots – 將此參數設定為至少等於您規劃之邏輯複寫發佈與訂閱總數的值。如果您正在使用 AWS DMS,此參數至少應等於叢集中計劃的變更資料擷取工作,再加上邏輯複寫發行集和訂閱。

    • max_wal_sendersmax_logical_replication_workers — 將這些參數設定為至少等於您想要處於作用中的邏輯複製插槽數目或作用中數目的值 AWS DMS 變更資料擷取的工作。讓邏輯複寫槽處於非作用中會導致清理無法從資料表移除已淘汰的元組,因此建議您監控複寫槽並視需要移除非作用中的複寫槽。

    • max_worker_processes – 將此參數設定為至少等於 max_logical_replication_workersautovacuum_max_workers、和 max_parallel_workers 值總計的值。在小型資料庫執行個體類別上,背景工作者程序可能影響應用程式工作負載,因此,如果您將 max_worker_processes 設為高於預設值,請監控資料庫的效能。(預設值為結果,也就是說GREATEST(${DBInstanceVCPU*2},8},依預設,這是資料庫執行個體類別的對CPU等值 8 或兩倍,以較大者為準)。

    注意

    您可修改客戶建立的資料庫參數群組中的參數值;但無法變更預設資料庫參數群組中的參數值。

  7. 選擇 Save changes (儲存變更)。

  8. 重新啟動 Aurora Postgre SQL 資料庫叢集的寫入器執行個體,以便您的變更生效。在 Amazon 主RDS控台中,選擇叢集的主要資料庫執行個體,然後從「動作」功能表選擇「重新啟」。

  9. 當執行個體可用時,您可以驗證邏輯複寫是否已開啟,如下所示。

    1. 用於連線psql至您的 Aurora Postgre SQL 資料庫叢集的寫入器執行個體。

      psql --host=your-db-cluster-instance-1.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
    2. 使用下列命令驗證是否已啟用邏輯複寫。

      labdb=> SHOW rds.logical_replication; rds.logical_replication ------------------------- on (1 row)
    3. 驗證 wal_level 是否已設為 logical

      labdb=> SHOW wal_level; wal_level ----------- logical (1 row)

如需使用邏輯複寫保持資料庫表格與來源 Aurora Postgre 資料SQL庫叢集中的變更同步的範例,請參閱範例:搭配使用邏輯複寫與 Aurora 資SQL料庫叢集