前提条件
- Amazon RDS Postgres
- Amazon Aurora Postgres
- Supabase Postgres
- Google Cloud SQL Postgres
- Azure Flexible Server for Postgres
- Neon Postgres
- Crunchy Bridge Postgres
- Generic Postgres Source: 他の Postgres プロバイダーを使用している場合、またはセルフホストのインスタンスを使用している場合。
- TimescaleDB: マネージドサービスまたはセルフホストのインスタンスで TimescaleDB 拡張機能を使用している場合。
ClickPipe の作成
- ClickHouse Cloud コンソールで、ご利用の ClickHouse Cloud サービスを開きます。
- 左側のメニューで
Data Sourcesボタンを選択し、「Set up a ClickPipe」をクリックします。
-
Postgres CDCタイルを選択します。
ソース Postgres データベース接続の追加
- 前提条件の手順で設定したソース Postgres データベースの接続情報を入力します。
(任意) AWS プライベートリンクの設定
(任意) SSH トンネリングを設定する
- 「Use SSH Tunnelling」トグルを有効にします。
- SSH の接続情報を入力します。
-
鍵ベース認証を使用するには、「Revoke and generate key pair」をクリックして新しい鍵ペアを生成し、生成された公開鍵を SSH サーバーの
~/.ssh/authorized_keysにコピーします。 - 「Verify Connection」をクリックして、接続を確認します。
ClickPipes が SSH トンネルを確立できるように、SSH 踏み台ホストのファイアウォールルールで ClickPipes IP アドレス を必ず許可してください。
レプリケーション設定の構成
- 事前準備の手順で作成したレプリケーションスロットを、ドロップダウンリストから選択してください。
詳細設定
- 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 データベースでテーブル名を変更したり、特定のカラムを除外したりすることもできます。
権限を確認して ClickPipe を開始する
- 権限のドロップダウンから「Full access」ロールを選択し、「Complete Setup」をクリックします。