소개
시작하기
테스트 케이스: TPC-H
| 쿼리 | PostgreSQL | pg_clickhouse | 푸시다운 |
|---|---|---|---|
| [쿼리 1] | 4693 ms | 268 ms | ✔︎ |
| [쿼리 2] | 458 ms | 3446 ms | |
| [쿼리 3] | 742 ms | 111 ms | ✔︎ |
| [쿼리 4] | 270 ms | 130 ms | ✔︎ |
| [쿼리 5] | 337 ms | 1460 ms | ✔︎ |
| [쿼리 6] | 764 ms | 53 ms | ✔︎ |
| [쿼리 7] | 619 ms | 96 ms | ✔︎ |
| [쿼리 8] | 342 ms | 156 ms | ✔︎ |
| [쿼리 9] | 3094 ms | 298 ms | ✔︎ |
| [쿼리 10] | 581 ms | 197 ms | ✔︎ |
| [쿼리 11] | 212 ms | 24 ms | |
| [쿼리 12] | 1116 ms | 84 ms | ✔︎ |
| [쿼리 13] | 958 ms | 1368 ms | |
| [쿼리 14] | 181 ms | 73 ms | ✔︎ |
| [쿼리 15] | 1118 ms | 557 ms | |
| [쿼리 16] | 497 ms | 1714 ms | |
| [쿼리 17] | 1846 ms | 32709 ms | |
| [쿼리 18] | 5823 ms | 10649 ms | |
| [쿼리 19] | 53 ms | 206 ms | ✔︎ |
| [쿼리 20] | 421 ms | - | |
| [쿼리 21] | 1349 ms | 4434 ms | |
| [쿼리 22] | 258 ms | 1415 ms |
소스 코드로 빌드하기
일반적인 Unix
pg_config와
curl-config가 경로에 포함되어 있으므로 make(또는
gmake)를 실행한 다음 make install을 실행하고, 데이터베이스에서
CREATE EXTENSION pg_clickhouse를 실행하면 됩니다.
Debian / Ubuntu / APT
RedHat / CentOS / Yum
PGXN에서 설치
pgxnclient라는 이름의 Yum 패키지로 제공됨)를 사용해 pg_clickhouse를 다운로드, 컴파일 및 설치합니다:
컴파일 및 설치
pg_clickhouse를 빌드하여 설치하려면 다음을 실행하세요:
pg_config를
지정해야 할 수 있습니다:
curl-config가 호스트의 PATH에 없으면, 경로를
명시적으로 지정할 수 있습니다:
gmake라는 이름으로 설치되어 있을 수 있습니다:
pg_config가 설치되어 있고 경로에 포함되어 있는지 확인하십시오. PostgreSQL을 설치할 때
RPM과 같은 패키지 관리 시스템을 사용했다면
-devel 패키지도 설치되어 있는지 확인하십시오. 필요한 경우 빌드 프로세스에서
해당 파일을 찾을 위치를 지정하십시오:
install에 prefix 인수를 전달하십시오(make의 다른 대상에는 전달하지 마십시오):
postgresql.conf
매개변수]에 접두어가 포함되어 있는지 확인하십시오:
테스트
로드
pg_clickhouse가 설치되면 슈퍼유저로 접속한 후 다음을 실행하여 데이터베이스에 추가할 수 있습니다:
pg_clickhouse와 관련 지원 객체를 모두
특정 스키마에 설치하려면 SCHEMA 절을 사용해 스키마를 지정하십시오. 예시는 다음과 같습니다:
종속성
pg_clickhouse 확장 기능은 PostgreSQL 13 이상과 libcurl,
libuuid가 필요합니다. 확장 기능을 빌드하려면 C 및 C++ 컴파일러, libSSL, GNU
make, CMake가 필요합니다.
로드맵
- 아직 푸시다운되지 않은 나머지 10개의 TPC-H 쿼리에 대해 최적의 실행 계획 수립
- ClickBench 쿼리에 대한 푸시다운을 테스트하고 수정
- 모든 PostgreSQL 집계 함수에 대한 투명한 푸시다운 지원
- 모든 PostgreSQL 함수에 대한 투명한 푸시다운 지원
- CREATE SERVER 및 GUCs를 통해 서버 수준과 세션 수준의 ClickHouse 설정 지원
- 모든 ClickHouse 데이터 타입 지원
- 경량한 DELETE 및 UPDATE 지원
- COPY를 통한 배치 삽입 지원
- 임의의 ClickHouse 쿼리를 실행하고 그 결과를 테이블로 반환하는 함수 추가
- 모두 원격 데이터베이스를 쿼리하는 경우 UNION 쿼리에 대한 푸시다운 지원 추가
저작권
- 저작권 (c) 2025-2026, ClickHouse
- 일부 저작권 (c) 2023-2025, Ildus Kurbangaliev
- 일부 저작권 (c) 2019-2023, Adjust GmbH
- 일부 저작권 (c) 2012-2019, PostgreSQL Global Development Group