Amazon RDS PostgreSQL データベースを構成する

以下のページでは、Amazon RDS for PostgreSQL データベース用に CDC を構成する方法について説明します。

パラメータ グループを作成する

  1. Amazon RDS ダッシュボードを起動します。

  2. ナビゲーション ドロワーで [パラメータ グループ] をクリックし、[パラメータ グループを作成] をクリックします。[パラメータ グループを作成] ページが表示されます。

  3. データベースと一致するデータベース ファミリーを選択し、パラメータ グループの名前と説明を入力して [作成] をクリックします。

  4. 新しく作成したパラメータ グループの左側にあるチェックボックスをオンにし、[パラメータ グループの操作] で [編集] をクリックします。

  5. グループに次のパラメータを設定します。

    パラメータ
    logical_replication1
  6. [変更を保存] をクリックします。

ソース データベースを構成する

  1. Amazon RDS ダッシュボードを起動します。

  2. ナビゲーション ドロワーで [データベース] をクリックします。

  3. ソースを選択し、[変更] をクリックします。

  4. [追加構成] セクションに移動します。

  5. 作成したパラメータ グループを選択します。

  6. [続行] をクリックします。

  7. [変更のスケジュール設定] で [すぐに適用] を選択します。

パラメータ グループがデータベース インスタンスに割り当てられていることを確認する

  1. Amazon RDS ダッシュボードを起動します。

  2. ナビゲーション ドロワーで [データベース] をクリックし、データベース インスタンスを選択します。

  3. [構成] タブをクリックします。

  4. 作成したパラメータ グループが表示され、そのステータスが pending-reboot になっていることを確認します。

  5. データベース インスタンスを再起動して構成を完了します。インスタンスを再起動するには:

    1. ナビゲーション ドロワーで [インスタンス] をクリックします。
    2. データベース インスタンスを選択します。
    3. [インスタンスの操作] メニューから [再起動] を選択します。

パブリケーションとレプリケーション スロットを作成する

  1. パブリケーションを作成する複製するテーブルに対してのみパブリケーションを作成することをおすすめします。これにより、Datastream は関連データを読み取り専用できるようになり、データベースと Datastream の負荷が軽減されます。

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;

    次のように置き換えます。

    • PUBLICATION_NAME: パブリケーションの名前。Datastream ストリーム作成ウィザードでストリームを作成するときに、この名前を指定する必要があります。
    • SCHEMA: テーブルを含むスキーマの名前。
    • TABLE: 複製するテーブルの名前。

    パブリケーションでは、スキーマ内のすべてのテーブルのパブリケーションを作成できます。この方法では、今後作成するテーブルを含め、指定されたスキーマリストにあるテーブルに対する変更を複製できます。

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLES IN SCHEMA1, SCHEMA2;

    データベース内のすべてのテーブルのパブリケーションを作成することもできます。この方法では、移行元データベースと Datastream の両方の負荷が増加します。

    CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
    
  2. 次の PostgreSQL コマンドを入力して、レプリケーション スロットを作成します。

    SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput'); 

    以下を置き換えます。

    • REPLICATION_SLOT_NAME: レプリケーション スロットの名前。Datastream ストリーム作成ウィザードでストリームを作成するときに、この名前を指定する必要があります。

Datastream ユーザーを作成する

  1. Datastream ユーザーを作成するには、次の PostgreSQL コマンドを入力します。

    CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
    

    以下を置き換えます。

    • USER_NAME: 作成する Datastream ユーザーの名前。
    • USER_PASSWORD: 作成する Datastream ユーザーのログイン パスワード。
  2. 作成したユーザーに次の権限を付与します。

    GRANT RDS_REPLICATION TO USER_NAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER;
    ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME
      GRANT SELECT ON TABLES TO USER_NAME;
    

    以下を置き換えます。

    • USER_NAME: 権限を付与するユーザー。
    • SCHEMA_NAME: 権限を付与するスキーマの名前。