ClickPipes を使用すると、ソースの Postgres データベースから ClickHouse Cloud にデータを取り込めます。ソースの Postgres データベースは、オンプレミス環境のほか、Amazon RDS、Google Cloud SQL、Azure Database for Postgres、Supabase などのクラウド環境でもホストできます。
Postgres ClickPipes は、ClickPipes UI を使用して手動でデプロイおよび管理できるほか、OpenAPI や Terraform を使用してプログラムからデプロイおよび管理することもできます。
前提条件
開始するには、まず Postgres データベースが正しく設定されていることを確認する必要があります。使用するソース Postgres インスタンスに応じて、以下のいずれかのガイドに従ってください。
-
Generic Postgres Source: 他の Postgres プロバイダーを使用している場合、またはセルフホストのインスタンスを使用している場合。
-
TimescaleDB: マネージドサービスまたはセルフホストのインスタンスで TimescaleDB 拡張機能を使用している場合。
ソース Postgres データベースの設定が完了したら、ClickPipe の作成に進めます。
ClickPipe の作成
ClickHouse Cloud アカウントにログインしていることを確認してください。まだアカウントをお持ちでない場合は、こちらから登録できます。
- ClickHouse Cloud コンソールで、ご利用の ClickHouse Cloud サービスを開きます。

- 左側のメニューで
Data Sourcesボタンを選択し、「Set up a ClickPipe」をクリックします。

-
Postgres CDC(変更データキャプチャ) タイルを選択します。
ソース Postgres データベース接続の追加
- 前提条件の手順で設定したソース Postgres データベースの接続情報を入力します。

(任意) AWS プライベートリンクの設定
ソースの Postgres データベースが AWS でホストされている場合は、AWS プライベートリンクを使用して接続できます。データ転送を非公開のままにしたい場合に便利です。 接続を設定するためのセットアップガイドを参照してください。
(任意) TLS設定の変更
デフォルトでは、ClickPipe は TLS と証明書検証を有効にした状態で作成されます。これらのデフォルト設定は、ClickPipe の作成時に変更できます。

または、一時停止中の ClickPipe の Settings タブにある Connection settings セクションで編集することもできます。


各項目の意味は次のとおりです。
Disable TLSは、その接続で TLS を有効または無効にするトグルです。TLS を無効にすると、データはネットワーク上を平文で送信されるため、シークレットや機密データが含まれる可能性があります。Skip certificate verificationは、ソースデータベースから提示される証明書の検証を有効または無効にするトグルです。証明書検証をスキップすることによるセキュリティ上の影響を考慮してください。TLS Host(省略可。デフォルトはソースの Host) は、証明書検証が有効な場合に、証明書の CN と一致している必要があるホスト名です。Upload CAは、証明書検証が有効な場合に使用する CA を指定するために利用できます。
(任意) SSH トンネリングを設定する
ソースの Postgres データベースにパブリックアクセスできない場合は、SSH トンネリングの詳細を指定できます。
-
「Use SSH Tunnelling」トグルを有効にします。
-
SSH の接続情報を入力します。

-
鍵ベース認証を使用するには、「Revoke and generate key pair」をクリックして新しい鍵ペアを生成し、生成された公開鍵を SSH サーバーの
~/.ssh/authorized_keysにコピーします。 -
「Verify Connection」をクリックして、接続を確認します。
接続情報の入力が完了したら、「Next」をクリックします。
レプリケーション設定の構成
-
事前準備の手順で作成したレプリケーションスロットを、ドロップダウンリストから選択してください。

詳細設定
必要に応じて詳細設定を構成できます。各設定の簡単な説明を以下に示します。
- Sync interval: ClickPipes が変更を確認するためにソースデータベースをポーリングする間隔です。この値は宛先の ClickHouse サービスのコストにも影響するため、コストを重視する場合は高めの値 (
3600より大きい値) に設定することを推奨します。 - Parallel threads for initial load: 初期スナップショットの取得に使用する並列ワーカー数です。テーブル数が多い場合に、初期スナップショットの取得に使う並列ワーカー数を制御するのに役立ちます。この設定はテーブルごとに適用されます。
- Pull batch size: 1 回のバッチで取得する行数です。この設定はベストエフォートで適用されるため、常にそのとおりになるとは限りません。
- Snapshot number of rows per partition: 初期スナップショット時に各パーティションで取得する行数です。テーブル内の行数が非常に多い場合に、各パーティションで取得する行数を制御するのに役立ちます。
- Snapshot number of tables in parallel: 初期スナップショット時に並列で取得するテーブル数です。テーブル数が多い場合に、並列で取得するテーブル数を制御するのに役立ちます。
テーブルの設定
-
ここでは、ClickPipe の宛先データベースを選択できます。既存のデータベースを選択することも、新しく作成することもできます。

-
ソースの Postgres データベースからレプリケートするテーブルを選択できます。テーブルを選択する際には、宛先の ClickHouse データベースでテーブル名を変更したり、特定のカラムを除外したりすることもできます。
-
さらに、宛先のClickHouse テーブルのパーティション化を制御するために、カスタムの
PARTITION BY <expr>式を指定できます。
権限を確認して ClickPipe を開始する
-
権限のドロップダウンから「Full access」ロールを選択し、「Complete Setup」をクリックします。

次は
ClickPipe の設定を完了し、PostgreSQL から ClickHouse Cloud へのデータレプリケーションを開始したら、次は最適なパフォーマンスを得るためのデータのクエリ方法やモデル設計に注力できます。要件に最も適した戦略を見極めるには 移行ガイド を参照してください。また、CDC (変更データキャプチャ) (変更データキャプチャ) ワークロードのベストプラクティスについては、重複排除戦略 (CDC (変更データキャプチャ) を使用) と Ordering Keys の各ページを参照してください。
PostgreSQL CDC (変更データキャプチャ) に関する一般的な質問やトラブルシューティングについては、Postgres よくある質問ページ を参照してください。