ClickPipes は Postgres 12 以降をサポートしています。
論理レプリケーションを有効にする
wal_level が logical に設定されている場合は、以下の手順を実行する必要はありません。別のデータレプリケーションツールから移行している場合、この設定は通常あらかじめ構成されています。
- Server parameters セクションをクリックします

wal_levelをlogicalに変更します

- この変更を反映するにはサーバーの再起動が必要です。要求されたら再起動してください。

ClickPipes ユーザーの作成と権限の付与
管理者ユーザーで Azure Flexible Server Postgres に接続し、以下のコマンドを実行します。
-
ClickPipes 専用のユーザーを作成します。
CREATE USER clickpipes_user PASSWORD 'some-password'; -
前の手順で作成したユーザーに、スキーマレベルの読み取り専用アクセスを付与します。以下の例は、
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; -
ユーザーにレプリケーション権限を付与します。
ALTER USER clickpipes_user WITH REPLICATION; -
レプリケーションしたいテーブルを含む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 をネットワークで許可してください。
- Networking タブに移動し、ClickPipes の IP を Azure Flexible Server Postgres のファイアウォールに追加します。SSH トンネリングを使用している場合は、Jump Server/Bastion に追加してください。

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