メインコンテンツへスキップ
メインコンテンツへスキップ

Azure Flexible Server for Postgres のソース設定ガイド

ClickPipes は Postgres バージョン 12 以降をサポートしています。

論理レプリケーションを有効にする

wal_levellogical に設定されている場合は、以下の手順に 従う必要はありません。別のデータレプリケーションツールから移行する場合、この設定はあらかじめ構成されていることがほとんどです。

  1. Server parameters セクションをクリックします
Azure Flexible Server for Postgres の Server Parameters
  1. wal_level の値を logical に変更します
Azure Flexible Server for Postgres で wal_level を logical に変更
  1. この変更にはサーバーの再起動が必要です。再起動を求められたら実行します。
wal_level を変更した後にサーバーを再起動

ClickPipes 用ユーザーの作成と権限付与

管理ユーザーで Azure Flexible Server Postgres に接続し、以下のコマンドを実行します。

  1. ClickPipes 専用のユーザーを作成します。

    CREATE USER clickpipes_user PASSWORD 'some-password';
    
  2. 先ほど作成したユーザーに、スキーマ単位の読み取り専用アクセス権を付与します。次の例では public スキーマに対する権限を示しています。レプリケーションしたいテーブルを含む各スキーマに対して、これらのコマンドを繰り返し実行してください。

    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
    
  3. ユーザーにレプリケーション権限を付与します。

    ALTER ROLE clickpipes_user REPLICATION;
    
  4. レプリケーションしたいテーブルを含む publication を作成します。パフォーマンスへのオーバーヘッドを避けるため、publication には必要なテーブルのみを含めることを強く推奨します。

    注記

    publication に含めるテーブルはすべて、主キー (primary key) が定義されている replica identityFULL に設定されている必要があります。スコープ設定のガイダンスについては Postgres FAQ を参照してください。

    • 特定のテーブル用の publication を作成する場合:

      CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
      
    • 特定スキーマ内のすべてのテーブル用の publication を作成する場合:

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      

    clickpipes publication には、指定されたテーブルから生成される変更イベントの集合が含まれ、後でレプリケーションストリームを取り込む際に使用されます。

  5. clickpipes_user に対して wal_sender_timeout を 0 に設定します。

    ALTER ROLE clickpipes_user SET wal_sender_timeout to 0;
    

Firewall に ClickPipes の IP アドレスを追加する

以下の手順に従って、ClickPipes の IP アドレス をネットワークに追加してください。

  1. Networking タブに移動し、ClickPipes の IP アドレス を Azure Flexible Server for Postgres のファイアウォール、 または SSH トンネリングを使用している場合は Jump Server/Bastion のファイアウォールに追加します。
Azure Flexible Server for Postgres のファイアウォールに ClickPipes の IP アドレスを追加する

次のステップ

これで、ClickPipe を作成し、Postgres インスタンスから ClickHouse Cloud へデータの取り込みを開始できます。 ClickPipe の作成プロセスで必要になるため、Postgres インスタンスのセットアップ時に使用した接続情報は必ずメモしておいてください。