ClickPipes를 사용하면 소스 Postgres 데이터베이스의 데이터를 ClickHouse Cloud로 수집할 수 있습니다. 소스 Postgres 데이터베이스는 ClickHouse Managed Postgres일 수도 있고, 온프레미스에 호스팅하거나 Amazon RDS, Google Cloud SQL, Azure Database for Postgres, Supabase 등의 클라우드에 호스팅할 수도 있습니다.Postgres ClickPipes는 ClickPipes UI를 통해 수동으로 배포하고 관리할 수 있을 뿐만 아니라, OpenAPI와 Terraform을 사용해 프로그래밍 방식으로도 배포하고 관리할 수 있습니다.
또는 일시 중지된 ClickPipe의 설정 탭에 있는 연결 설정 섹션에서 수정할 수 있습니다:

각 항목의 의미는 다음과 같습니다:연결 정보를 모두 입력했으면 “다음”을 클릭하십시오.
사전 요구사항
시작하기 전에 먼저 Postgres 데이터베이스가 올바르게 설정되어 있는지 확인해야 합니다. 소스 Postgres 인스턴스에 따라 다음 가이드 중 하나를 따르십시오.- ClickHouse Managed Postgres: 논리적 복제가 활성화되어 있고 ClickPipes 액세스가 기본적으로 허용되어 있습니다.
- Amazon RDS Postgres
- Amazon Aurora Postgres
- Supabase Postgres
- Google Cloud SQL Postgres
- Azure Flexible Server for Postgres
- Neon Postgres
- Crunchy Bridge Postgres
- 일반 Postgres 소스: 다른 Postgres 제공업체를 사용하거나 자체 호스팅 인스턴스를 사용하는 경우
- TimescaleDB: 관리형 서비스 또는 자체 호스팅 인스턴스에서 TimescaleDB 확장 기능을 사용하는 경우
ClickPipe 생성하기
ClickHouse Cloud 계정에 로그인되어 있는지 확인하십시오. 아직 계정이 없다면 여기에서 가입할 수 있습니다.- ClickHouse Cloud 콘솔에서 ClickHouse Cloud 서비스로 이동합니다.
- 왼쪽 메뉴에서
Data Sources버튼을 선택한 후 “Set up a ClickPipe”를 클릭하십시오
-
Postgres CDC타일을 선택합니다
소스 Postgres 데이터베이스 연결 추가하기
- 사전 요구사항 단계에서 구성한 소스 Postgres 데이터베이스의 연결 정보를 입력하십시오.
(선택 사항) AWS Private Link 설정
소스 Postgres 데이터베이스가 AWS에 호스팅되어 있는 경우 AWS Private Link를 사용하여 연결할 수 있습니다. 데이터 전송을 비공개로 유지하려는 경우에 유용합니다. 연결 설정 가이드를 참고하십시오.(선택 사항) TLS 설정 변경
기본적으로 ClickPipe는 TLS 및 certificate verification이 활성화된 상태로 생성됩니다. 이러한 기본 설정은 ClickPipe를 생성할 때 변경할 수 있습니다:


Disable TLS는 연결에 대한 TLS 사용 여부를 전환합니다. TLS를 끄면 데이터가 네트워크를 통해 plaintext로 전송되며, 시크릿과 민감한 데이터가 포함될 수 있습니다.Skip certificate verification는 원본 데이터베이스가 제공하는 certificate의 검증 여부를 전환합니다. certificate verification을 건너뛸 경우의 보안 영향을 고려하십시오.TLS Host(선택 사항, 기본값은 원본 Host)는 certificate verification이 활성화된 경우 certificate의 CN과 일치해야 하는 호스트명입니다.Upload CA는 certificate verification이 활성화된 경우 사용할 CA를 제공하는 데 사용할 수 있습니다.
(선택 사항) SSH tunneling 설정
소스 Postgres 데이터베이스에 공개적으로 액세스할 수 없는 경우 SSH tunneling 세부 정보를 지정할 수 있습니다.- “Use SSH Tunnelling” 토글을 활성화합니다.
- SSH 연결 정보를 입력하십시오.
-
키 기반 인증(authentication)을 사용하려면 “Revoke and generate key pair”를 클릭하여 새 키 쌍을 생성하고, 생성된 공개 키(public key)를 SSH 서버의
~/.ssh/authorized_keys에 복사하십시오. - “Verify Connection”을 클릭하여 연결을 확인하십시오.
ClickPipes가 SSH 터널을 설정할 수 있도록 SSH 배스천 호스트의 방화벽 규칙에서 ClickPipes IP 주소를 허용 목록에 추가하십시오.
복제 설정 구성
- 사전 요구사항 단계에서 생성한 replication slot을 드롭다운 목록에서 선택하십시오.
고급 설정
필요한 경우 고급 설정을 구성할 수 있습니다. 각 설정에 대한 간략한 설명은 다음과 같습니다.- Sync interval: ClickPipes가 원본 데이터베이스에서 변경 사항을 폴링하는 인터벌입니다. 이 값은 대상 ClickHouse 서비스에 영향을 미치므로, 비용에 민감한 사용자라면 더 큰 값(
3600이상)으로 유지하는 것을 권장합니다. - Parallel threads for initial load: 초기 스냅샷을 가져오는 데 사용되는 병렬 worker의 수입니다. 테이블 수가 많아 초기 스냅샷을 가져올 때 사용되는 병렬 worker 수를 제어하고자 할 때 유용합니다. 이 설정은 테이블 단위로 적용됩니다.
- Pull batch size: 단일 배치로 가져올 행의 수입니다. 이는 최선 노력(best effort) 기반 설정이므로 모든 경우에 그대로 적용되지 않을 수 있습니다.
- Snapshot number of rows per partition: 초기 스냅샷 중 각 파티션에서 가져올 행의 수입니다. 테이블의 행 수가 매우 많아 각 파티션에서 가져오는 행 수를 제어하고자 할 때 유용합니다.
- Snapshot number of tables in parallel: 초기 스냅샷 중 병렬로 가져올 테이블의 수입니다. 테이블 수가 많아 병렬로 가져오는 테이블 수를 제어하고자 할 때 유용합니다.
테이블 구성하기
- 여기에서 ClickPipe의 대상 데이터베이스를 선택할 수 있습니다. 기존 데이터베이스를 선택하거나 새 데이터베이스를 생성할 수 있습니다.
- 소스 Postgres 데이터베이스에서 복제할 테이블을 선택할 수 있습니다. 테이블을 선택할 때 대상 ClickHouse 데이터베이스에서 사용할 테이블 이름을 변경하거나 특정 컬럼을 제외할 수도 있습니다.
- 사용자 정의
PARTITION BY <expr>표현식을 지정하여 대상 ClickHouse 테이블의 파티셔닝을 제어할 수도 있습니다.
권한 검토 및 ClickPipe 시작
- 권한 드롭다운에서 “Full access” 역할을 선택한 후 “Complete Setup”을 클릭하십시오.