> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ClickHouse 連携

> 組み込みの CDC（変更データキャプチャ）機能を使って、Postgres のデータを ClickHouse にレプリケートします

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>ベータ</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                ベータ機能です。 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        詳しくはこちら。
                    </a>
                </u>
            </span>
        </div>;
};

<BetaBadge link="https://clickhouse.com/cloud/postgres" galaxyTrack={true} galaxyEvent="docs.managed-postgres.clickhouse-integration-beta" />

すべての Managed Postgres インスタンスには、任意の ClickHouse サービスに対する CDC 機能が標準で組み込まれています。これにより、Postgres インスタンス上のデータの一部または全部を ClickHouse に移行し、Postgres 側で発生したデータの変更を ClickHouse に継続的かつほぼリアルタイムで反映できます。この機能は内部的に [ClickPipes](/docs/ja/integrations/clickpipes/home) によって提供されています。

これを利用するには、Postgres インスタンスのサイドバーで **ClickHouse 連携** をクリックします。

<Image img="https://mintcdn.com/private-7c7dfe99/mWK0LIJWA-YNz_kU/images/managed-postgres/clickhouse-integration-intro.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=5707b458ca2238e33a84bc08bc1d5475" alt="サイドバーのインテグレーションオプションを示す ClickHouse 連携のランディングページ" size="md" border width="2682" height="1274" data-path="images/managed-postgres/clickhouse-integration-intro.webp" />

<Note>
  先に進む前に、Postgres サービスに ClickPipes サービスからアクセスできることを確認してください。通常はデフォルトでアクセス可能ですが、IP アクセスを制限している場合は、**ClickHouse service** が配置されているリージョンに応じて、[こちら](/docs/ja/integrations/clickpipes/home#list-of-static-ips) の一覧にある一部の送信元 IP からのアクセスを許可する必要がある場合があります。
</Note>

ClickPipe の設定を開始するには、**Replicate data in ClickHouse** をクリックします。

<Steps>
  <Step title="レプリケーションサービスを設定する" id="configure-replication-service">
    レプリケーション設定を入力します。

    * **インテグレーション名**: この ClickPipe の名前
    * **ClickHouse service**: 既存の ClickHouse Cloud サービスを選択するか、新しく作成します
    * **Postgres database**: レプリケーション元のソースデータベース
    * **Replication method**: 次のいずれかを選択します。
      * **Initial load + CDC (変更データキャプチャ) **: 既存データを取り込み、新しい変更があればテーブルを継続的に更新します (推奨)
      * **Initial load only**: 既存データを一回限りでスナップショット取得し、その後の更新は行いません
      * **CDC (変更データキャプチャ)  only**: 初期スナップショットをスキップし、以降の新しい変更のみをキャプチャします

    <Image img="https://mintcdn.com/private-7c7dfe99/-DTs8Nf-Dydrn3iN/images/managed-postgres/replication-service-step.webp?fit=max&auto=format&n=-DTs8Nf-Dydrn3iN&q=85&s=9c97e07b7dead467598e69cae23998e4" alt="インテグレーション名、宛先サービス、レプリケーション方式のオプションを示すレプリケーションサービス設定" size="md" border width="2076" height="1290" data-path="images/managed-postgres/replication-service-step.webp" />

    続行するには **Next** をクリックします。
  </Step>

  <Step title="レプリケーション設定を構成する" id="replication-settings">
    データのレプリケーション方法を細かく調整します。

    * **同期間隔 (seconds)**: Postgres から変更を取得する間隔 (デフォルト: 60)
    * **Parallel threads for initial load**: 初期スナップショット時に使用するスレッド数 (デフォルト: 4)
    * **Pull バッチサイズ**: レプリケーション中にバッチごとに取得する行数 (デフォルト: 100000)
    * **Snapshot number of rows per partition**: 初期スナップショット時のパーティションごとの行数 (デフォルト: 100000)
    * **Snapshot number of tables in parallel**: 同時にスナップショットを取得するテーブル数 (デフォルト: 1)

    <Image img="https://mintcdn.com/private-7c7dfe99/mWK0LIJWA-YNz_kU/images/managed-postgres/integration-replication-settings.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=ba66dcf45ebd4c1a1bb821b125123429" alt="同期間隔、並列スレッド、Pull バッチサイズ、スナップショット構成オプションを示すレプリケーション設定ステップ" size="md" border width="3680" height="2392" data-path="images/managed-postgres/integration-replication-settings.webp" />

    続行するには **Next** をクリックします。
  </Step>

  <Step title="レプリケートするテーブルを選択する" id="select-tables">
    宛先データベースを選択し、レプリケートするテーブルを指定します。

    * **Destination database**: 既存の ClickHouse データベースを選択するか、新しく作成します
    * **Prefix default destination table names with schema name**: 名前の競合を避けるため、Postgres スキーマ名をプレフィックスとして追加します
    * **Preserve NULL values from source**: 型のデフォルト値に変換せず、NULL 値を保持します。この設定はパイプ内のすべてのテーブルに適用され、パイプの作成後に変更することはできません
    * **Remove deleted rows during merges**: [ReplacingMergeTree](/docs/ja/reference/engines/table-engines/mergetree-family/replacingmergetree) テーブルで、バックグラウンドマージ中に削除済みの行を物理的に削除します

    スキーマを展開して、レプリケートする個々のテーブルを選択します。宛先テーブル名やカラム設定をカスタマイズすることもできます。

    <Image img="https://mintcdn.com/private-7c7dfe99/-DTs8Nf-Dydrn3iN/images/managed-postgres/select-tables-step.webp?fit=max&auto=format&n=-DTs8Nf-Dydrn3iN&q=85&s=d7c22db3e852d89dfc625f7d7eb87c82" alt="データベース選択、レプリケーションオプション、スキーマごとにグループ化されたテーブルピッカーを示すテーブル選択ステップ" size="md" border width="2454" height="1804" data-path="images/managed-postgres/select-tables-step.webp" />

    レプリケーションを開始するには、**Replicate data to ClickHouse** をクリックします。
  </Step>

  <Step title="ClickPipe を監視する" id="monitor-clickpipe">
    ClickPipe が開始されると、同じメニューに一覧表示されます。すべてのデータの初期スナップショットには、テーブルのサイズによっては時間がかかる場合があります。

    <Image img="https://mintcdn.com/private-7c7dfe99/mWK0LIJWA-YNz_kU/images/managed-postgres/integration-running.webp?fit=max&auto=format&n=mWK0LIJWA-YNz_kU&q=85&s=6821fec6a6b39ef5d53518459f08dcb9" alt="宛先サービスとステータスを含む Running 状態の ClickPipe を示す ClickHouse 連携の一覧" size="md" border width="2518" height="622" data-path="images/managed-postgres/integration-running.webp" />

    インテグレーション名をクリックすると、詳細なステータスの確認、進行状況の監視、エラーの表示、ClickPipe の管理を行えます。ClickPipe が取りうるさまざまな状態については、[Lifecycle of a Postgres ClickPipe](/docs/ja/integrations/clickpipes/postgres/lifecycle) を参照してください。
  </Step>
</Steps>
