> ## 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.

# ClickPipes로 ClickHouse에 동기화하기

> 내장 CDC 기능을 사용하여 Postgres 데이터를 ClickHouse로 복제합니다

[베타](https://clickhouse.com/cloud/postgres)

모든 ClickHouse Managed Postgres 인스턴스에는 어떤 ClickHouse 서비스로든 데이터를 복제할 수 있는 CDC 기능이 기본 제공됩니다. 이를 통해 Postgres 인스턴스의 데이터 일부 또는 전체를 ClickHouse로 옮기고, Postgres에서 발생한 데이터 변경 사항을 거의 실시간으로 ClickHouse에 지속적으로 반영할 수 있습니다. 이 기능은 내부적으로 [ClickPipes](https://clickhouse.com/docs/ko/integrations/clickpipes/home.md)로 구동됩니다.

이 기능을 사용하려면 Postgres 인스턴스의 사이드바에서 **Sync to ClickHouse**를 클릭하십시오.

![사이드바에 통합 옵션을 표시하는 ClickHouse 통합 랜딩 페이지](https://mintcdn.com/private-7c7dfe99/7bwsXgjDg4ADP__Z/images/managed-postgres/clickhouse-integration-intro.webp?fit=max\&auto=format\&n=7bwsXgjDg4ADP__Z\&q=85\&s=e32d61f84fe019d735b5f18a6ba5ae47)

> [!NOTE]
>
> 진행하기 전에 ClickPipes 서비스에서 Postgres 서비스에 액세스할 수 있는지 확인하십시오. 기본적으로는 액세스가 가능하지만, IP 액세스를 제한한 경우 **ClickHouse 서비스**가 위치한 리전에 따라 [이](https://clickhouse.com/docs/ko/integrations/clickpipes/networking/static-ips.md) 목록의 일부 소스 IP에 대해 액세스를 허용해야 할 수 있습니다.

**Replicate data in ClickHouse**를 클릭하여 ClickPipe 설정을 시작하십시오.

**1. 복제 서비스 구성**

복제 설정을 입력하십시오:

* **Integration name**: 이 ClickPipe의 이름
* **ClickHouse service**: 기존 ClickHouse Cloud 서비스를 선택하거나 새로 생성
* **Postgres database**: 복제할 원본 데이터베이스
* **Replication method**: 다음 중 하나를 선택
  * **Initial load + CDC**: 기존 데이터를 가져오고 이후 변경 사항을 반영해 테이블을 계속 최신 상태로 유지(권장)
  * **Initial load only**: 기존 데이터를 일회성으로 스냅샷하며 이후 업데이트는 없음
  * **CDC only**: 초기 스냅샷을 건너뛰고 이후 발생하는 변경 사항만 캡처

![통합 이름, 대상 서비스, 복제 방식 옵션을 보여주는 복제 서비스 구성 화면](https://mintcdn.com/private-7c7dfe99/7bwsXgjDg4ADP__Z/images/managed-postgres/replication-service-step.webp?fit=max\&auto=format\&n=7bwsXgjDg4ADP__Z\&q=85\&s=3a4e607c9b176e79ecd13910e1498e6c)

**다음**을 클릭하여 계속 진행하십시오.

**2. 복제 설정 구성**

데이터가 복제되는 방식을 세밀하게 조정하십시오:

* **Sync interval (seconds)**: Postgres에서 변경 사항을 가져오는 주기(기본값: 60)
* **Parallel threads for initial load**: 초기 스냅샷 시 사용되는 스레드 수(기본값: 4)
* **pull batch 크기**: 복제 중 배치당 가져오는 행 수(기본값: 100000)
* **Snapshot number of rows per partition**: 초기 스냅샷 시 파티션당 행 수(기본값: 100000)
* **Snapshot number of tables in parallel**: 동시에 스냅샷할 테이블 수(기본값: 1)

![동기화 인터벌, 병렬 스레드, pull batch 크기, 스냅샷 구성 옵션을 보여주는 복제 설정 단계](https://mintcdn.com/private-7c7dfe99/7bwsXgjDg4ADP__Z/images/managed-postgres/integration-replication-settings.webp?fit=max\&auto=format\&n=7bwsXgjDg4ADP__Z\&q=85\&s=352b1f09ca383bb75d9553ba0def5f77)

**다음**을 클릭하여 계속 진행하십시오.

**3. 복제할 테이블 선택**

대상 데이터베이스를 선택하고 복제할 테이블을 지정하십시오:

* **Destination database**: 기존 ClickHouse 데이터베이스를 선택하거나 새로 생성
* **Prefix default destination table names with schema name**: 이름 충돌을 방지하기 위해 Postgres 스키마를 접두사로 추가
* **Preserve NULL values from source**: 타입 기본값으로 변환하지 않고 NULL 값을 그대로 유지합니다. 이 설정은 파이프의 모든 테이블에 적용되며, 파이프를 생성한 후에는 변경할 수 없습니다.
* **Remove deleted rows during merges**: [ReplacingMergeTree](https://clickhouse.com/docs/ko/reference/engines/table-engines/mergetree-family/replacingmergetree.md) 테이블에서 백그라운드 머지 시 삭제된 행을 물리적으로 제거합니다

스키마를 펼쳐 복제할 개별 테이블을 선택하십시오. 대상 테이블 이름과 컬럼 설정도 사용자 지정할 수 있습니다.

![데이터베이스 선택, 복제 옵션, 스키마별로 그룹화된 테이블 선택기를 보여주는 테이블 선택 단계](https://mintcdn.com/private-7c7dfe99/1Nz1dAkMe4yV28t-/images/managed-postgres/select-tables-step.webp?fit=max\&auto=format\&n=1Nz1dAkMe4yV28t-\&q=85\&s=e0e4d8bcb77b0565490b12252841ccbe)

**Replicate data to ClickHouse**를 클릭하여 복제를 시작하십시오.

**4. ClickPipe 모니터링**

ClickPipe가 시작되면 동일한 메뉴에 목록으로 표시됩니다. 전체 데이터의 초기 스냅샷은 테이블 크기에 따라 다소 시간이 걸릴 수 있습니다.

![실행 중인 ClickPipe와 해당 대상 서비스 및 상태를 보여주는 ClickHouse 통합 목록](https://mintcdn.com/private-7c7dfe99/1Nz1dAkMe4yV28t-/images/managed-postgres/integration-running.webp?fit=max\&auto=format\&n=1Nz1dAkMe4yV28t-\&q=85\&s=487881b858fdac6860c3ad67b0ea66e3)

통합 이름을 클릭하면 상세 상태를 확인하고, 진행 상황을 모니터링하며, 오류를 확인하고, ClickPipe를 관리할 수 있습니다. ClickPipe가 가질 수 있는 다양한 상태를 이해하려면 [Postgres ClickPipe의 수명 주기](https://clickhouse.com/docs/ko/integrations/clickpipes/postgres/lifecycle.md)를 참조하십시오.
