設定 pglogical 延伸模組 - Amazon Relational Database Service

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

設定 pglogical 延伸模組

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

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

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

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

  2. 在導覽窗格中,選擇您的 RDS for PostgreSQL 資料庫執行個體

  3. 針對您的 開啟 Configuration (組態) 索引標籤。RDS for PostgreSQL 資料庫執行個體。在執行個體詳細資訊之間,尋找 Parameter group (參數群組) 連結。

  4. 選擇連結以開啟與 相關聯的自訂參數。RDS for PostgreSQL 資料庫執行個體。

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

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

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

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

  9. 重新啟動 RDS for PostgreSQL 資料庫執行個體,讓您的變更生效。

  10. 當執行個體可用時,您可以使用 psql (或 pgAdmin) 連線至 RDS for 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. 從資料庫清單中選擇 RDS for 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,以開啟 的邏輯解碼功能。RDS for 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 命令重新啟動 RDS for PostgreSQL 資料庫執行個體,以便初始化 pglogical 程式庫。

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  4. 當執行個體可用時,請使用 psql 連線至 RDS for 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 命令,重新啟動 RDS for PostgreSQL 資料庫執行個體

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