Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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

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

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

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

  1. Server parameters セクションをクリックします
Azure Flexible Server for Postgres の Server Parameters
  1. wal_levellogical に変更します
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 USER clickpipes_user WITH REPLICATION;
  4. レプリケーションしたいテーブルを含むpublicationを作成します。パフォーマンスのオーバーヘッドを避けるため、publication には必要なテーブルのみを含めることを強く推奨します。

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

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

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";

clickpipes publication は、変更イベントが ClickPipes にストリーミングされるテーブルの集合を定義します。すべてのテーブルをレプリケーションする予定でない限り、FOR ALL TABLES は使用しないことをお勧めします。不要なテーブルを含めると、Postgres から ClickPipes への WAL トラフィックが増加し、レプリケーション全体の効率が低下するためです。

ClickPipes の IP をファイアウォールに追加

以下の手順に従って、ClickPipes の IP をネットワークで許可してください。

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

次のステップ

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

Navigation