ClickHouse 連携
すべての Managed Postgres インスタンスには、任意の ClickHouse サービスへの組み込みの CDC(変更データキャプチャ)機能が付属しています。これにより、Postgres インスタンス上のデータの一部またはすべてを ClickHouse に移行し、Postgres 上のデータ変更を継続的かつほぼリアルタイムに ClickHouse に反映させることができます。これは内部的には ClickPipes によって実現されています。
この機能にアクセスするには、Postgres インスタンスのサイドバーで ClickHouse Integration をクリックします。

続行する前に、Postgres サービスが ClickPipes サービスからアクセス可能であることを確認してください。通常はデフォルトで満たされていますが、IP アクセスを制限している場合は、ClickHouse service が存在するリージョンに基づいて、この リストにある一部の送信元 IP からのアクセスを許可する必要がある場合があります。
Replicate data in ClickHouse をクリックして、ClickPipe の設定を開始します。
レプリケーションサービスを構成する
レプリケーション設定を入力します:
- Integration name: この ClickPipe の名前
- ClickHouse service: 既存の ClickHouse Cloud サービスを選択するか、新規に作成します
- Postgres database: レプリケーション元となるソースデータベース
- Replication method: 次のいずれかを選択します:
- Initial load + CDC: 既存データをインポートし、新しい変更でテーブルを更新し続けます(推奨)
- Initial load only: 既存データのスナップショットを 1 回だけ取得し、その後の更新は行いません
- CDC only: 初期スナップショットをスキップし、以降の新しい変更のみを取り込みます

Next をクリックして進みます。
レプリケーションするテーブルを選択する
宛先データベースを選択し、どのテーブルをレプリケーションするかを選択します:
- Destination database: 既存の ClickHouse データベースを選択するか、新規に作成します
- Prefix default destination table names with schema name: 名前の競合を避けるために、Postgres のスキーマ名をプレフィックスとして付与します
- Preserve NULL values from source: デフォルト値への変換ではなく、NULL 値をそのまま保持します
- Remove deleted rows during merges: ReplacingMergeTree テーブルに対して、バックグラウンドマージ中に削除済みの行を物理的に削除します
スキーマを展開し、レプリケーションする個々のテーブルを選択します。宛先テーブル名やカラム設定をカスタマイズすることもできます。

Replicate data to ClickHouse をクリックして、レプリケーションを開始します。
ClickPipe を監視する
ClickPipe が開始されると、同じメニューに一覧表示されます。すべてのデータの初回スナップショットは、テーブルサイズに応じて時間がかかる場合があります。

インテグレーション名をクリックすると、詳細なステータスの表示、進行状況の監視、エラーの確認、および ClickPipe の管理が行えます。ClickPipe が取りうるさまざまな状態については、Lifecycle of a Postgres ClickPipe を参照してください。