Postgres から ClickHouse へのデータの取り込み (CDCを使用)
ClickPipesを使用して、ソースのPostgresデータベースからClickHouse Cloudにデータを取り込むことができます。ソースのPostgresデータベースは、オンプレミスまたはAmazon RDS、Google Cloud SQL、Azure Database for Postgres、Supabaseなどのクラウドにホストされることがあります。
前提条件
始める前に、まずPostgresデータベースが正しくセットアップされていることを確認する必要があります。ソースのPostgresインスタンスに応じて、以下のガイドのいずれかに従うことができます。
-
Generic Postgres Source、他のPostgresプロバイダーを使用している場合やセルフホストのインスタンスを使用している場合。
-
TimescaleDB、管理サービスまたはセルフホストインスタンスでTimescaleDB拡張を使用している場合。
PgBouncer、RDS Proxy、Supabase PoolerなどのPostgresプロキシはCDCベースのレプリケーションではサポートされていません。ClickPipesのセットアップには、実際のPostgresデータベースの接続詳細を追加するようにしてください。
ソースのPostgresデータベースがセットアップされたら、ClickPipeの作成を続けることができます。
ClickPipeの作成
ClickHouse Cloudアカウントにログインしていることを確認してください。まだアカウントを作成していない場合は、こちらからサインアップできます。
- ClickHouse Cloudコンソールで、ClickHouse Cloudサービスに移動します。

- 左側のメニューから
Data Sources
ボタンを選択し、「ClickPipeを設定」をクリックします。

-
Postgres CDC
タイルを選択します。
ソースPostgresデータベース接続の追加
-
前提条件ステップで構成したソースのPostgresデータベースの接続詳細を入力します。
(オプション) AWS Private Linkの設定
データ転送をプライベートに保ちたい場合、AWSにホストされているソースのPostgresデータベースに接続するためにAWS Private Linkを使用できます。 接続を設定するためのセットアップガイドに従うことができます。
(オプション) SSHトンネリングの設定
ソースのPostgresデータベースが公開されていない場合、SSHトンネリングの詳細を指定できます。
-
「Use SSH Tunnelling」トグルを有効にします。
-
SSH接続の詳細を入力します。
-
キーベースの認証を使用する場合は、「Revoke and generate key pair」をクリックして新しいキーペアを生成し、生成された公開鍵をSSHサーバーの
~/.ssh/authorized_keys
にコピーします。 -
「Verify Connection」をクリックして接続を確認します。
SSHバスティオンホストのファイアウォール規則にClickPipesのIPアドレスをホワイトリストに登録して、ClickPipesがSSHトンネルを確立できるようにしてください。
接続詳細が入力されたら、「Next」をクリックします。
レプリケーション設定の構成
-
前提条件ステップで作成したレプリケーションスロットをドロップダウンリストから選択してください。
高度な設定
必要に応じて高度な設定を構成できます。各設定の簡単な説明は以下の通りです:
- Sync interval: ClickPipesがソースデータベースの変更をポーリングする間隔です。これは、コストに敏感なユーザーには3600を超える高い値を推奨します。
- Parallel threads for initial load: 初期スナップショットを取得するために使用される並行ワーカーの数です。多くのテーブルがある場合に初期スナップショットを取得する並行ワーカーの数を制御するのに便利です。この設定はテーブルごとに適用されます。
- Pull batch size: 一度に取得する行数です。この設定は努力の結果であり、すべてのケースで尊重されるわけではありません。
- Snapshot number of rows per partition: 初期スナップショットの際に各パーティションで取得される行数です。テーブルに多くの行がある場合、各パーティションで取得する行数を制御するのに便利です。
- Snapshot number of tables in parallel: 初期スナップショットの際に並行して取得されるテーブルの数です。多くのテーブルがある場合、並行して取得されるテーブルの数を制御するのに便利です。
テーブルの構成
-
ここでClickPipeの宛先データベースを選択できます。既存のデータベースを選択するか、新しいデータベースを作成できます。
-
ソースのPostgresデータベースからレプリケートしたいテーブルを選択できます。テーブルを選択する際に、宛先のClickHouseデータベース内でテーブルの名前を変更したり、特定のカラムを除外したりすることもできます。
注意ClickHouseで決定キーをPostgresの主キーとは異なる方法で定義している場合は、関連するすべての考慮事項を忘れないでください。
権限を確認し、ClickPipeを開始
-
権限のドロップダウンから「Full access」ロールを選択し、「Complete Setup」をクリックします。
次は何ですか?
ClickPipeがPostgreSQLからClickHouse Cloudへのデータのレプリケーションを設定したら、データを最適なパフォーマンスのためにクエリし、モデル化する方法に集中できます。ニーズに最適な戦略を判断するための移行ガイドや、CDCワークロードのベストプラクティスに関する重複排除戦略 (CDCを使用)および並びキーページを参照してください。
PostgreSQL CDCおよびトラブルシューティングに関する共通の質問については、Postgres FAQsページをご覧ください。