設定 pglogical 延伸模組 - Amazon Aurora

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

設定 pglogical 延伸模組

若要在 Aurora PostgreSQL 資料庫叢集 上設定pglogical擴充功能,請將 pglogical 新增至 Aurora PostgreSQL 資料庫叢集的自訂資料庫叢集參數群組。您亦需將 rds.logical_replication 參數的值設為 1,以開啟邏輯解碼。最後,您可以在資料庫中建立延伸模組。您可以使用 AWS Management Console 或 AWS CLI 執行這些任務。

您必須具有做為 rds_superuser 角色的許可,才能執行這些任務。

下列步驟假設您的 Aurora PostgreSQL 資料庫叢集 與自訂資料庫叢集參數群組相關聯。如需建立自訂資料庫參數群組的相關資訊,請參閱 Amazon Aurora 的參數群組

設定 pglogical 延伸模組
  1. 登入 AWS Management Console 並在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中,選擇 Aurora PostgreSQL 資料庫叢集的 Postgre 資料庫執行個體寫入器

  3. 開啟 Aurora Postgre 資料庫叢集寫入器執行個體的組態索引標籤。 SQL 在執行個體詳細資訊之間,尋找 Parameter group (參數群組) 連結。

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

  5. Parameters (參數) 搜尋欄位中,輸入 shared_pre 以尋找 shared_preload_libraries 參數。

  6. 選擇 Edit parameters (編輯參數) 以存取屬性值。

  7. Values (值) 欄位中,將 pglogical 新增至清單。使用逗號區隔值清單中的項目。

    已新增 pglogical 之 shared_preload_libraries 參數的影像。
  8. 尋找 rds.logical_replication 參數並將其設為 1,以開啟邏輯複寫。

  9. PostgreSQL 資料庫執行個體重新啟動 Aurora Postgre 資料庫叢集的寫入器,讓您的變更生效。

  10. 當執行個體可用時,您可以使用 psql(或 pgAdmin) 連線到 Aurora PostgreSQL 資料庫叢集的寫入器執行個體。

    psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
  11. 若要驗證 pglogical 是否已初始化,請執行下列命令。

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pglogical (1 row)
  12. 驗證啟用邏輯解碼的設定,如下所示。

    SHOW wal_level; wal_level ----------- logical (1 row)
  13. 建立延伸模組,如下所示。

    CREATE EXTENSION pglogical; EXTENSION CREATED
  14. 選擇 Save changes (儲存變更)。

  15. 在 開啟 Amazon RDS主控台https://console.aws.amazon.com/rds/

  16. 從資料庫清單中選擇 Aurora PostgreSQL 資料庫叢集的 Postgre 資料庫執行個體寫入器執行個體,以選取它,然後從動作功能表中選擇重新啟動

設定 pglogical 延伸模組

若要使用 設定 pglogical AWS CLI,您可以呼叫 modify-db-parameter-group操作來修改自訂參數群組中的特定參數,如下列程序所示。

  1. 使用下列 AWS CLI 命令將 pglogical新增至 shared_preload_libraries 參數。

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pglogical,ApplyMethod=pending-reboot" \ --region aws-region
  2. 使用下列 AWS CLI 命令將 rds.logical_replication 設定為 1,以開啟 Aurora PostgreSQL 資料庫叢集寫入器執行個體的邏輯解碼功能。

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" \ --region aws-region
  3. 使用下列 AWS CLI 命令重新啟動 Aurora PostgreSQL 資料庫叢集的寫入器以便初始化 pglogical 程式庫。

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region
  4. 當執行個體可用時,請使用 psql連接至 Aurora Postgre 資料庫叢集的寫入器執行個體。 SQL

    psql --host=111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=labdb
  5. 建立延伸模組,如下所示。

    CREATE EXTENSION pglogical; EXTENSION CREATED
  6. 使用下列 AWS CLI 命令,重新啟動 Aurora PostgreSQL 資料庫叢集的寫入器執行個體。

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region