> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-vortex-format.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# WalShadow로 ClickHouse에 동기화하기

> PostgreSQL WAL을 직접 읽는 네이티브 복제 엔진인 WalShadow로 Postgres 데이터를 ClickHouse에 복제하세요

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

export const PrivatePreviewBadge = () => {
  return <div className="privatePreviewBadge">
            <div className="privatePreviewIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M5.33301 6.66667V4.66667V4.66667C5.33301 3.194 6.52701 2 7.99967 2V2C9.47234 2 10.6663 3.194 10.6663 4.66667V4.66667V6.66667" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path d="M8.00033 9.33337V11.3334" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path fillRule="evenodd" clipRule="evenodd" d="M11.333 14H4.66634C3.92967 14 3.33301 13.4033 3.33301 12.6666V7.99996C3.33301 7.26329 3.92967 6.66663 4.66634 6.66663H11.333C12.0697 6.66663 12.6663 7.26329 12.6663 7.99996V12.6666C12.6663 13.4033 12.0697 14 11.333 14Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>
        </div>
            {'비공개 프리뷰'}
        </div>;
};

<PrivatePreviewBadge />

`WalShadow`는 PostgreSQL의 Write-Ahead Log(WAL)를 직접 읽는 ClickHouse Managed Postgres용 네이티브 복제 엔진입니다. 낮은 지연 시간과 고처리량 워크로드에 최적화되어 있어 Postgres에서 ClickHouse로 1초 미만의 복제 지연을 제공합니다. [ClickHouse/walshadow](https://github.com/ClickHouse/walshadow)에서 오픈소스로 개발되고 있습니다.

`WalShadow`는 **Sync to ClickHouse**에서 사용할 수 있는 두 가지 복제 방식 중 하나입니다. 다른 하나인 [ClickPipes](/ko/cloud/managed-postgres/clickpipes)는 완전 관리형 데이터 파이프라인입니다. 가장 낮은 지연 시간과 최소한의 복제 오버헤드가 필요하다면 `WalShadow`를 선택하십시오.

서비스에서 `WalShadow`를 사용할 수 있으면 **Overview** 페이지에 **비공개 프리뷰** 배너가 표시됩니다. **Configure WalShadow**를 클릭하여 시작하십시오.

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/overview-banner.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=81dfbd1832e869ec28da2fa33a3c6d9e" alt="Learn more 및 Configure WalShadow 링크가 포함된 WalShadow 비공개 프리뷰 배너가 표시된 Postgres 서비스 개요 페이지" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/overview-banner.webp" />

<Note>
  진행하기 전에 ClickHouse에서 Postgres 서비스에 액세스할 수 있는지 확인하십시오. `WalShadow`는 대상 ClickHouse 서비스에 직접 연결하므로, 데이터베이스와 테이블을 생성할 권한이 있는 ClickHouse 사용자와 비밀번호가 필요합니다.
</Note>

복제를 설정하려면 Postgres 인스턴스의 사이드바에서 **Sync to ClickHouse**를 클릭한 다음 **Replicate data in ClickHouse**를 클릭하십시오.

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/sync-landing.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=78e1892ef7a31503586a0635e18be6fa" alt="ClickPipes 및 WalShadow 복제 방식이 표시된 Sync to ClickHouse 랜딩 페이지" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/sync-landing.webp" />

<Steps>
  <Step title="복제 엔진 선택" id="select-replication-engine">
    복제 엔진으로 **WalShadow**를 선택한 후 **다음**을 클릭하십시오.

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/select-engine.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=f8300818381fe1cbf5ea52562b50f62b" alt="ClickPipes 및 WalShadow 옵션이 표시되고 WalShadow가 선택된 복제 엔진 선택 단계" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/select-engine.webp" />
  </Step>

  <Step title="복제 서비스 구성" id="configure-replication-service">
    복제 설정을 입력하십시오:

    * **ClickHouse 서비스**: 기존 ClickHouse 서비스를 선택하거나 새로 생성합니다
    * **Postgres 데이터베이스**: 복제할 원본 데이터베이스를 선택하거나 새로 생성합니다
    * **복제 방식**: 다음 중 하나를 선택합니다:
      * **초기 적재 + CDC**: 기존 데이터를 가져오고 이후 발생하는 변경 사항을 테이블에 계속 반영합니다(권장)
      * **초기 적재만**: 기존 데이터를 한 번만 가져오고 이후 업데이트는 수행하지 않습니다
      * **CDC만**: 초기 가져오기를 건너뛰고 이후 발생하는 새로운 변경 사항만 캡처합니다

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/configure-service.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=94a0c71c28ef3a31e2cfa0daa551ea81" alt="ClickHouse 서비스, Postgres 데이터베이스, 복제 방식 옵션이 표시된 복제 서비스 구성 단계" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/configure-service.webp" />

    **다음**을 클릭하여 진행하십시오.
  </Step>

  <Step title="복제할 테이블 선택" id="select-tables">
    대상 데이터베이스를 선택하고 복제할 테이블을 지정하십시오:

    * **대상 데이터베이스**: 기존 ClickHouse 데이터베이스를 선택하거나 새로 생성합니다
    * **테이블**: 각 스키마를 확장하여 개별 테이블을 선택하거나, **모든 테이블 선택**을 켜십시오. 테이블별로 **대상 테이블 이름**을 사용자 지정하고 **컬럼 설정**을 조정할 수 있습니다.
    * **ClickHouse 사용자** 및 **ClickHouse 비밀번호**: `WalShadow`는 대상 ClickHouse 서비스에 직접 연결하므로, 대상 데이터베이스와 테이블을 생성할 수 있는 권한을 가진 자격 증명이 필요합니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/select-tables.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=29b010e450a6340a932aedcda3fae1b9" alt="스키마 및 테이블 선택, 대상 테이블 이름, ClickHouse 자격 증명이 표시된 테이블 선택 단계" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/select-tables.webp" />

    **ClickHouse로 데이터 복제**를 클릭하여 복제를 시작하십시오.
  </Step>

  <Step title="WalShadow 모니터링" id="monitor-walshadow">
    복제를 시작하면 **Sync to ClickHouse** 페이지에 `WalShadow`가 표시됩니다. 파이프라인이 프로비저닝되고 초기 적재가 준비되는 동안에는 상태가 **Creating**으로 표시됩니다.

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/walshadow-creating.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=5b95c778db8d48a093a6a32a9bcca30b" alt="WalShadow가 Creating 상태로 표시된 Sync to ClickHouse 페이지" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/walshadow-creating.webp" />

    프로비저닝이 완료되면 상태가 **Running**으로 변경됩니다. 이 페이지에서는 복제에 대한 실시간 메트릭을 확인할 수 있습니다:

    * **Status**: 파이프라인의 현재 상태(예: `Running`)
    * **Rows synced**: ClickHouse로 복제된 총 행 수
    * **Backfills pending**: 초기 적재를 아직 대기 중인 테이블 수
    * **Lag**: 아직 적용되지 않은 WAL 데이터의 양
    * **Lag time**: 대상이 현재 Postgres보다 얼마나 뒤처져 있는지
    * **Uptime**: 파이프라인이 실행된 시간
    * **Last updated**: 메트릭이 마지막으로 보고된 시점

    <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/_zeYYhn8mtbf0rOY/images/managed-postgres/walshadow/walshadow-running.webp?fit=max&auto=format&n=_zeYYhn8mtbf0rOY&q=85&s=e2383f118f630d59f4f3e6de0185b519" alt="복제된 행 수, lag, uptime 메트릭과 함께 WalShadow가 Running 상태로 표시된 Sync to ClickHouse 페이지" size="md" border width="3680" height="2392" data-path="images/managed-postgres/walshadow/walshadow-running.webp" />
  </Step>
</Steps>

<h2 id="caveats">
  주의 사항
</h2>

`WalShadow`가 비공개 프리뷰 단계인 동안 유의해야 할 몇 가지 사항은 다음과 같습니다:

* 현재는 Postgres 서비스당 `WalShadow`를 하나만 사용할 수 있습니다.
* 운영 기능과 더 상세한 메트릭은 로드맵에 포함되어 있습니다.
