PostgresからClickHouseへのデータ取り込み (CDCを使用)
現在、ClickPipesを通じてPostgresからClickHouse Cloudへのデータ取り込みは、パブリックベータ版です。
ClickPipesを使用して、ソースのPostgresデータベースからClickHouse Cloudにデータを取り込むことができます。ソースのPostgresデータベースは、オンプレミスまたはクラウドにホストされている可能性があり、Amazon RDS、Google Cloud SQL、Azure Database for Postgres、Supabaseなどを含みます。
前提条件
始めるには、まずPostgresデータベースが正しく設定されていることを確認する必要があります。ソースPostgresインスタンスによっては、次のいずれかのガイドに従うことができます:
-
Generic Postgres Source、他のPostgresプロバイダーを使用している場合やセルフホステッドインスタンスを使用している場合
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データベースの接続詳細を入力します。
(オプション) SSHトンネルの設定
ソースのPostgresデータベースが公開されていない場合は、SSHトンネルの詳細を指定できます。
-
「SSHトンネリングを使用する」トグルを有効にします。
-
SSH接続の詳細を入力します。
-
キーベースの認証を使用するには、「キー ペアを取り消して生成」をクリックして新しいキー ペアを生成し、生成された公開キーをSSHサーバーの
~/.ssh/authorized_keys
にコピーします。 -
「接続を確認」をクリックして接続を確認します。
ClickPipesがSSHトンネルを確立できるように、SSHバスティオンホストに対してClickPipes IPアドレスをファイアウォールのルールにホワイトリスト登録することを忘れないでください。
接続詳細が入力できたら、「次へ」をクリックします。
レプリケーション設定の構成
-
前提条件のステップで作成したレプリケーションスロットをドロップダウンリストから選択します。
高度な設定
必要に応じて高度な設定を構成できます。各設定の簡単な説明は以下の通りです:
- 同期間隔: これはClickPipesがソースデータベースを変更内容についてポーリングする間隔です。コストに敏感なユーザーには、これを高めの値(
3600
以上)に保つことをお勧めします。 - 初期読み込み用の並列スレッド数: 初期スナップショットを取得するために使用される並列作業者の数です。多数のテーブルがある場合や初期スナップショットを取得するための並列作業者の数を制御したい場合に便利です。この設定はテーブルごとに適用されます。
- プルバッチサイズ: 単一バッチで取得する行の数です。これは最善を尽くした設定であり、すべてのケースで遵守されるわけではありません。
- 各パーティションのスナップショット行数: 初期スナップショット中に各パーティションで取得される行の数です。テーブルに多数の行がある場合に、各パーティションで取得される行の数を制御するのに便利です。
- 並列スナップショットのテーブル数: 初期スナップショット中に並列で取得されるテーブルの数です。多数のテーブルがある場合に、並列で取得されるテーブルの数を制御するのに便利です。
テーブルの構成
-
ここでは、ClickPipeの宛先データベースを選択できます。既存のデータベースを選択するか、新しいデータベースを作成できます。
-
ソースPostgresデータベースからレプリケートしたいテーブルを選択できます。テーブルを選択する際に、宛先ClickHouseデータベースでのテーブル名の変更や特定のカラムの除外を選択することもできます。
危険ClickHouseでのOrdering KeyをPostgresの主キーとは異なる形で定義している場合は、すべての考慮事項を読むことを忘れないでください!
権限を確認してClickPipeを開始
-
権限のドロップダウンから「フルアクセス」ロールを選択し、「セットアップを完了」をクリックします。
次は何ですか?
PostgresからClickHouseにデータを移行した後の次の明確な質問は、ClickHouseでデータをどのようにモデル化してそれを最大限に活用するかです。ClickHouseでのデータモデルの作成を支援するために、ClickHouse Data Modeling Tips for Postgres usersをご参照ください。
また、一般的な問題やその解決方法に関する詳細は、ClickPipes for Postgres FAQをご参照ください。
こちらは特に重要です。ClickHouseはPostgresと異なり、いくつかの驚きに直面するかもしれません。このガイドは潜在的な落とし穴に対処し、ClickHouseを最大限に活用できるようにします。