Hands-on labs for ClickHouse Managed Postgres and the pg_clickhouse extension: provisioning, PostGIS and vector search beside ClickHouse, and pushing analytics down from Postgres to ClickHouse.
This repository was split out of litkhai/clickhouse-hols on the
pre-split-2026-10tag, with history. The last version of these labs in the original repository: https://github.com/litkhai/clickhouse-hols/tree/pre-split-2026-10
| Lab | What it covers |
|---|---|
| managed-postgres/provisioning | Create a service over the Cloud API, connect and verify |
| managed-postgres/postgis-fdw-bike | PostGIS beside 24M Seoul bike trips: geometry stays in Postgres, aggregates push down to ClickHouse through pg_clickhouse |
| managed-postgres/ny-citi-bike-workshop | The same split on a live New York Citi Bike feed — a self-service workshop in its own repository |
| managed-postgres/vector-search | pgvector, VectorChord and ClickHouse's vector index over the same million embeddings, compared at matched recall |
| Lab | What it covers |
|---|---|
| extensions/pg-clickhouse-lab | pg_clickhouse on local Docker: querying ClickHouse from PostgreSQL, and reverse ETL into Postgres with pg_cron |
| Repository | What it is |
|---|---|
| litkhai/clickhouse-hols | Core ClickHouse hands-on labs |
litkhai/clickhouse-hols — local/pg-analytics |
Self-hosted pg_lake / pg_duckdb / pg_clickhouse benchmark (stays in the core repo) |
Current state and what still needs a re-run: STATUS.md.
git config core.hooksPath .githooks
python3 .github/scripts/check_links.py
./.github/scripts/check_syntax.sh
python3 tools/labs_json.py --checkdocs/labs.json lists the labs whose lab.yaml sets web: true, for the notes site, which
fetches it from main. Keys and categories: tools/lab.schema.md.
After changing a lab.yaml, run python3 tools/labs_json.py and commit the file.
MIT. Labs install ClickHouse and other software at run time under their own licences.
ClickHouse Managed Postgres와 pg_clickhouse 확장 실습 모음입니다. 서비스 생성, ClickHouse와 함께 쓰는 PostGIS·벡터 검색, 그리고 Postgres에서 ClickHouse로 분석 쿼리를 내려보내는 방법을 다룹니다.
이 저장소는 litkhai/clickhouse-hols의
pre-split-2026-10태그 시점에서 히스토리와 함께 분리했습니다. 원래 저장소에 있던 마지막 버전: https://github.com/litkhai/clickhouse-hols/tree/pre-split-2026-10
| 실습 | 내용 |
|---|---|
| managed-postgres/provisioning | Cloud API로 서비스 생성, 접속·검증 |
| managed-postgres/postgis-fdw-bike | PostGIS와 2,400만 건의 따릉이 대여이력: 지오메트리는 Postgres에 남고 집계는 pg_clickhouse로 ClickHouse에 내려갑니다 |
| managed-postgres/ny-citi-bike-workshop | 같은 분업을 뉴욕 Citi Bike 실시간 피드로 — 별도 저장소의 셀프 워크숍 |
| managed-postgres/vector-search | 같은 100만 임베딩에 pgvector·VectorChord·ClickHouse 벡터 인덱스를 동일 recall에서 비교 |
| 실습 | 내용 |
|---|---|
| extensions/pg-clickhouse-lab | 로컬 Docker의 pg_clickhouse: PostgreSQL에서 ClickHouse 조회, pg_cron으로 Postgres에 리버스 ETL |
| 저장소 | 설명 |
|---|---|
| litkhai/clickhouse-hols | ClickHouse 핵심 실습 |
litkhai/clickhouse-hols — local/pg-analytics |
자체 호스팅 pg_lake / pg_duckdb / pg_clickhouse 벤치마크 (코어 레포에 남음) |
현재 상태와 재실행이 필요한 항목: STATUS.md.
git config core.hooksPath .githooks
python3 .github/scripts/check_links.py
./.github/scripts/check_syntax.sh
python3 tools/labs_json.py --checkdocs/labs.json에는 lab.yaml에 web: true가 있는 실습만 담기며, 노트 사이트가 main에서
가져갑니다. 키와 분류는 tools/lab.schema.md. lab.yaml을 바꾼 뒤
python3 tools/labs_json.py를 실행하고 그 파일을 커밋하세요.
MIT. 실습이 실행 시점에 설치하는 소프트웨어는 각자의 라이선스를 따릅니다.