設定 pglogical 延伸模組 - Amazon Aurora

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

設定 pglogical 延伸模組

若要在 Aurora PostgreSQL 資料庫叢集上設定 pglogical 延伸模組,請將 pglogical 新增至下列群組上的共用程式庫:RDS for PostgreSQL 資料庫執行個體的自訂資料庫參數群組。Aurora PostgreSQL 資料庫叢集的自訂資料庫叢集參數群組。您亦需將 rds.logical_replication 參數的值設為 1,以開啟邏輯解碼。最後,您可以在資料庫中建立延伸模組。您可以針對這些任務使用 AWS 管理主控台 或 AWS CLI。

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

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

設定 pglogical 延伸模組
  1. 登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

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

  3. 針對您的 Aurora PostgreSQL 資料庫叢集的寫入器執行個體開啟 Configuration (組態) 索引標籤。在執行個體詳細資訊之間,尋找 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. 重新啟動 Aurora PostgreSQL 資料庫叢集的寫入器執行個體,讓您的變更生效。

  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. 選擇儲存變更

  15. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

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

設定 pglogical 延伸模組

若要使用 AWS CLI 設定 pglogical,請呼叫 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 PostgreSQL 資料庫叢集的寫入器執行個體。

    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