pglogical 拡張のセットアップ - Amazon Relational Database Service

pglogical 拡張のセットアップ

RDS for PostgreSQL DB インスタンスpglogical 拡張機能を設定するには、RDS for PostgreSQL DB インスタンスのカスタム DB パラメータグループの共有ライブラリに pglogical を追加します。また、論理デコードをオンにするには、rds.logical_replication パラメータの値を 1 に設定する必要があります。最後に、データベースに拡張を作成します。これらのタスクには、AWS Management Console または AWS CLI を使用できます。

これらのタスクを実行するには、rds_superuser ロールとしてアクセス許可が必要です。

以下の手順では、 RDS for PostgreSQL DB インスタンスがカスタム DB パラメータグループに関連付けられていることを前提としています。カスタム DB パラメータグループの作成については、「Amazon RDS のパラメータグループ」を参照してください。

pglogical 拡張をセットアップするには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

  2. ナビゲーションペインで、 RDS for PostgreSQL DB インスタンスを選択します。

  3. [Configuration] (設定) タブを開きます。RDS for PostgreSQL DB インスタンス。インスタンスの詳細の中から、パラメータグループのリンクを見つけてください。

  4. リンクを選択して、に関連するカスタムパラメータを開きます。RDS for PostgreSQL DB インスタンス。

  5. パラメータ検索フィールドに、shared_pre を入力して shared_preload_libraries パラメータを検索します。

  6. プロパティ値にアクセスするには、[Edit parameters] (パラメータの編集) を選択します。

  7. [Values] (値) フィールドのリストに pglogical を追加します。値のリスト内の項目を区切るにはカンマを使用します。

    pglogical が追加された shared_preload_libraries パラメータの画像。
  8. rds.logical_replication パラメータを見つけて 1 に設定し、論理レプリケーションをオンにします。

  9. RDS for PostgreSQL DB インスタンス を再起動して、変更を有効にします。

  10. インスタンスが使用可能になったら、psql (または pgAdmin) を使用して RDS for PostgreSQL DB インスタンスに接続します。

    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. データベースリストから RDS for PostgreSQL DB インスタンス を選択して選択し、アクションメニューから [Reboot] (再起動) を選択します。

pglogical 拡張のセットアップするには

AWS CLI を使用して pglogical を設定するには、次の手順に示すように、modify-db-parameter-group オペレーションを呼び出してカスタムパラメータグループの特定のパラメータを変更します。

  1. 次の AWS CLI コマンドを使用してshared_preload_librariesパラメータに pglogical を追加します。

    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_replication1 に設定し、の論理デコード機能をオンにします。RDS for PostgreSQL DB インスタンス。

    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 DB インスタンスを再起動し、pglogical ライブラリを初期化します。

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  4. インスタンスが使用可能になったら、psql を使用して RDS for PostgreSQL DB インスタンスに接続します。

    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 DB インスタンスを再起動します。

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