以下のページでは、Amazon RDS for PostgreSQL データベース用に CDC を構成する方法について説明します。
パラメータ グループを作成する
Amazon RDS ダッシュボードを起動します。
ナビゲーション ドロワーで [パラメータ グループ] をクリックし、[パラメータ グループを作成] をクリックします。[パラメータ グループを作成] ページが表示されます。
データベースと一致するデータベース ファミリーを選択し、パラメータ グループの名前と説明を入力して [作成] をクリックします。
新しく作成したパラメータ グループの左側にあるチェックボックスをオンにし、[パラメータ グループの操作] で [編集] をクリックします。
グループに次のパラメータを設定します。
パラメータ 価値 logical_replication 1
[変更を保存] をクリックします。
ソース データベースを構成する
Amazon RDS ダッシュボードを起動します。
ナビゲーション ドロワーで [データベース] をクリックします。
ソースを選択し、[変更] をクリックします。
[追加構成] セクションに移動します。
作成したパラメータ グループを選択します。
[続行] をクリックします。
[変更のスケジュール設定] で [すぐに適用] を選択します。
パラメータ グループがデータベース インスタンスに割り当てられていることを確認する
Amazon RDS ダッシュボードを起動します。
ナビゲーション ドロワーで [データベース] をクリックし、データベース インスタンスを選択します。
[構成] タブをクリックします。
作成したパラメータ グループが表示され、そのステータスが pending-reboot になっていることを確認します。
データベース インスタンスを再起動して構成を完了します。インスタンスを再起動するには:
- ナビゲーション ドロワーで [インスタンス] をクリックします。
- データベース インスタンスを選択します。
- [インスタンスの操作] メニューから [再起動] を選択します。
パブリケーションとレプリケーション スロットを作成する
パブリケーションを作成する複製するテーブルのパブリケーションのみを作成することをおすすめします。これにより、Datastream は関連データを読み取り専用にできるようになり、データベースと Datastream の負荷が軽減されます。
CREATE PUBLICATION
PUBLICATION_NAME FOR TABLESCHEMA1 .TABLE1 ,SCHEMA2 .TABLE2 ;以下を置き換えます。
- PUBLICATION_NAME: パブリケーションの名前。Datastream のストリーム作成ウィザードでストリームを作成するときに、この名前を指定する必要があります。
- SCHEMA: テーブルを含むスキーマの名前。
- TABLE: 複製するテーブルの名前。
パブリケーションは、スキーマ内のすべてのテーブルのパブリケーションを作成できます。この方法で、今後作成するテーブルを含め、指定したスキーマのリストにあるテーブルの変更を複製できます。
CREATE PUBLICATION
PUBLICATION_NAME FOR TABLES INSCHEMA1 ,SCHEMA2 ;データベース内のすべてのテーブルのパブリケーションを作成することもできます。この方法によって、ソース データベースと Datastream の両方の負荷が増加します。
CREATE PUBLICATION
PUBLICATION_NAME FOR ALL TABLES;次の PostgreSQL コマンドを入力して、レプリケーション スロットを作成します。
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('
REPLICATION_SLOT_NAME ', 'pgoutput');以下を置き換えます。
- REPLICATION_SLOT_NAME: レプリケーション スロットの名前。Datastream のストリーム作成ウィザードでストリームを作成するときに、この名前を指定する必要があります。
Datastream ユーザーを作成する
Datastream ユーザーを作成するには、次の PostgreSQL コマンドを入力します。
CREATE USER
USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD ';以下を置き換えます。
- USER_NAME: 作成する Datastream ユーザーの名前。
- USER_PASSWORD: 作成する Datastream ユーザーのログイン パスワード。
作成したユーザーに次の権限を付与します。
GRANT RDS_REPLICATION TO
USER_NAME ; GRANT SELECT ON ALL TABLES IN SCHEMASCHEMA_NAME TOUSER_NAME ; GRANT USAGE ON SCHEMASCHEMA_NAME TOUSER ; ALTER DEFAULT PRIVILEGES IN SCHEMASCHEMA_NAME GRANT SELECT ON TABLES TOUSER_NAME ;以下を置き換えます。
- USER_NAME: 権限の付与先となるユーザー。
- SCHEMA_NAME: 権限の付与先となるスキーマの名前。
次のステップ
- Datastream が PostgreSQL ソースと連携する仕組みについて学習します。