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

> ClickPipes의 소스로 ClickHouse Managed Postgres 설정하기

# ClickHouse Managed Postgres 소스 설정 가이드

[ClickHouse Managed Postgres](/ko/products/managed-postgres/overview)는 ClickHouse Cloud에서 제공하는 완전 관리형 Postgres 서비스입니다. ClickPipes에 연결하기 가장 빠른 Postgres 소스로, 모든 인스턴스에 논리적 복제가 기본 활성화되어 있고, ClickPipes IP 주소가 기본적으로 허용되며, 연결 정보도 ClickHouse 서비스와 동일한 콘솔에서 확인할 수 있습니다.

ClickHouse Managed Postgres 인스턴스에서 복제를 시작하는 방법은 두 가지입니다. 두 방법 모두 일반적인 Postgres ClickPipe를 생성하므로, 파이프가 실행되면 [Postgres ClickPipe 문서](/ko/integrations/clickpipes/postgres/index)의 모든 내용이 그대로 적용됩니다.

<h2 id="sync-to-clickhouse">
  옵션 1: Postgres 서비스에서 ClickHouse로 동기화
</h2>

ClickHouse Cloud 콘솔에서 ClickHouse Managed Postgres 서비스를 열고 사이드바의 **Sync to ClickHouse**를 클릭하십시오. 마법사가 소스 연결 정보를 미리 채워 주며, 대상 ClickHouse 서비스와 복제 방식, 복제할 테이블을 선택할 수 있습니다. 사용자, publication, 네트워크 설정은 별도로 필요하지 않습니다.

단계별 안내는 [Sync to ClickHouse](/ko/products/managed-postgres/sync-to-clickhouse/clickpipes) 가이드를 참고하십시오. 지연 시간이 짧은 복제가 필요하다면, 파일 시스템 수준에서 읽기를 수행하는 네이티브 복제 엔진인 [WalShadow](/ko/products/managed-postgres/sync-to-clickhouse/walshadow)를 선택할 수도 있습니다. 현재 비공개 프리뷰로 제공됩니다.

<h2 id="clickpipes-source">
  옵션 2: ClickPipes에서 ClickHouse Managed Postgres를 소스로 선택
</h2>

대상 쪽에서 시작하려면 ClickHouse 서비스를 열고 **Data Sources**로 이동한 뒤, 소스 목록에서 **ClickHouse Managed Postgres**를 선택하십시오. 이후 다른 Postgres 소스와 동일한 방식으로 Postgres 인스턴스의 연결 정보를 입력합니다.

<h3 id="connection-details">
  연결 정보
</h3>

ClickHouse Managed Postgres 서비스를 열고 **Connect**를 클릭하면 host, port, database, user, password를 확인할 수 있습니다. **via PgBouncer** 토글을 사용하지 말고 Postgres에 직접 연결하십시오. ClickPipes는 PgBouncer를 비롯한 어떤 연결 풀러를 통한 복제도 지원하지 않습니다. 자세한 내용은 [Connection](/ko/products/managed-postgres/connection)을 참조하십시오.

<h3 id="creating-a-user-with-permissions">
  권한을 가진 사용자 생성하기
</h3>

기본 `postgres` 사용자로 연결할 수 있습니다. 프로덕션 환경에서는 다른 Postgres 소스와 마찬가지로 전용 읽기 전용 복제 사용자를 사용하는 것을 권장합니다. `psql`로 인스턴스에 연결한 후 다음을 실행하십시오:

1. ClickPipes 전용 사용자를 생성합니다:

   ```sql theme={null}
   CREATE USER clickpipes_user PASSWORD 'some-password';
   ```

2. 해당 사용자에게 스키마 수준의 읽기 전용 액세스를 부여합니다. 다음 예시는 `public` 스키마에 대한 권한을 보여줍니다. 복제하려는 테이블이 포함된 각 스키마마다 아래 명령어를 반복하십시오:

   ```sql theme={null}
   GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
   GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
   ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
   ```

3. 해당 사용자에게 복제 권한을 부여합니다:

   ```sql theme={null}
   ALTER USER clickpipes_user WITH REPLICATION;
   ```

4. 복제하려는 테이블을 포함하는 [publication](https://www.postgresql.org/docs/current/logical-replication-publication.html)을 생성합니다. 성능 오버헤드를 줄이려면 꼭 필요한 테이블만 publication에 포함할 것을 강력히 권장합니다.

<Warning>
  publication에 포함되는 모든 테이블에는 **primary key**가 정의되어 있거나 **replica identity**가 `FULL`로 설정되어 있어야 합니다. 범위 설정에 대한 지침은 [Postgres FAQ](/ko/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication)를 참조하십시오.
</Warning>

* 특정 테이블에 대한 publication을 생성하려면:

  ```sql theme={null}
  CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
  ```

  * 특정 스키마의 모든 테이블에 대한 publication을 생성하려면:

    ```sql theme={null}
    CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
    ```

<h3 id="logical-replication">
  논리적 복제
</h3>

논리적 복제는 모든 ClickHouse Managed Postgres 인스턴스에서 이미 활성화되어 있습니다. 별도로 변경해야 할 `wal_level` 설정이나 parameter group은 없습니다. 다음 명령으로 확인할 수 있습니다:

```sql theme={null}
SHOW wal_level; -- should be logical
```

<h3 id="network-access">
  네트워크 액세스
</h3>

ClickHouse Managed Postgres는 기본적으로 ClickPipes의 연결을 허용합니다. Postgres 서비스에 [IP 필터](/ko/products/managed-postgres/security#ip-whitelisting)를 구성한 경우, **ClickHouse 서비스**가 위치한 리전의 [ClickPipes 고정 IP 주소](/ko/integrations/clickpipes/networking/static-ips)를 허용 목록에 추가하십시오.

<h3 id="tls">
  TLS
</h3>

ClickHouse Managed Postgres 인스턴스는 해당 인스턴스에만 고유하며 공개적으로 신뢰되지 않는 CA가 서명한 인증서(certificate)를 제시합니다. ClickPipes는 기본적으로 인증서 검증(certificate verification)을 활성화하므로, 다음 중 하나를 수행하기 전까지는 연결 확인이 실패합니다.

* Postgres 서비스의 **Settings** 탭에서 CA 인증서 번들을 다운로드한 후, ClickPipe 연결 설정의 **Upload CA**를 통해 제공하십시오. 이 방법을 권장합니다. 번들을 찾을 수 있는 위치는 [Verified TLS connection](/ko/products/managed-postgres/connection#verified-tls)을 참조하십시오.
* ClickPipe 연결 설정에서 **Skip certificate verification**을 활성화하십시오. 연결은 암호화된 상태로 유지되지만 서버 아이덴티티는 확인되지 않습니다.

`clickhousectl`로 파이프를 생성하는 경우, 번들을 가져온 후 `--ca-certificate`로 전달하십시오.

```bash theme={null}
clickhousectl cloud postgres certs get <postgres-service-id> --output pg-ca.pem
```

<h2 id="whats-next">
  다음 단계
</h2>

이제 [ClickPipe를 생성](/ko/integrations/clickpipes/postgres/index)하여 ClickHouse Managed Postgres 인스턴스의 데이터를 ClickHouse Cloud로 수집할 수 있습니다. ClickHouse Managed Postgres에서 ClickHouse로의 Native CDC는 추가 비용 없이 제공됩니다. 자세한 내용은 [요금](/ko/products/managed-postgres/pricing)을 참조하십시오.
