ClickhouseExplainer
Postgres week in the Netherlands: PGDay Lowlands & Percona Live 2026
Summary
An account of three days in the Netherlands covers talks at PGDay Lowlands in Utrecht and Percona Live 2026 in Amsterdam, including a five-minute presentation on ClickHouse integrations and a PostgreSQL 19 monitoring session. pg_clickhouse uses a foreign data wrapper to expose ClickHouse tables as PostgreSQL foreign tables, allowing existing queries, ORMs, and dashboards to continue working while pushable work runs in ClickHouse; 15 of 22 TPC-H queries at scale factor 1 are fully pushed down. pg_stat_ch captures per-query execution events in a shared-memory ring buffer and sends batches to ClickHouse, dropping events rather than blocking PostgreSQL when ClickHouse is unavailable. The monitoring talk covered PostgreSQL 19 logging, WAL and I/O statistics, WAIT FOR, new system views, and multixact and wraparound changes. The post also reports talks on optimizer hints and plan stabilization, and says both conferences will return in 2027.
Context
The post records attendance and speaking engagements at PGDay Lowlands in Utrecht on September 10, 2026, and Percona Live in Amsterdam on September 11. It also mentions a nationwide public transport strike on September 9, which ended before PGDay Lowlands proceeded as planned.
Approach / What changed
pg_clickhouse connects PostgreSQL to ClickHouse through a foreign data wrapper, importing ClickHouse tables as PostgreSQL foreign tables and pushing executable query work to ClickHouse. pg_stat_ch uses PostgreSQL hooks, a shared-memory ring buffer, and a background worker to batch raw query events to ClickHouse over its native protocol. The PostgreSQL 19 monitoring session organized changes into logging, WAL and I/O, WAIT FOR, system views, and multixacts and wraparound.
Takeaways
pg_clickhouse lets existing PostgreSQL queries, ORM-generated SQL, and dashboards access ClickHouse through foreign tables; 15 of 22 TPC-H queries at scale factor 1 are fully pushed down.
pg_stat_ch records raw per-query timing, buffer, WAL, CPU, application, client, and error data, then sends batches to ClickHouse for historical analysis and percentiles.
PostgreSQL 19 monitoring changes include log_lock_waits enabled by default, wal_fpi_bytes, WAIT FOR for asynchronous standby read-your-writes semantics, three new system views, and a wraparound warning threshold raised from 40 million to 100 million transactions.
FAQ
What happens when ClickHouse is slow or unreachable with pg_stat_ch?
pg_stat_ch deliberately provides no back-pressure. Events are dropped and counted, so PostgreSQL does not wait for ClickHouse.
How does pg_clickhouse preserve existing PostgreSQL applications?
It imports ClickHouse tables as foreign tables in a PostgreSQL schema with mapped types. Changing search_path lets existing read queries, ORMs, and dashboards run without modification.
How do PostgreSQL 19's plan-advice modules differ from classic optimizer hints?
pg_plan_advice and pg_stash_advice target plan stabilization rather than classic hints. They constrain the planner to plans it would already have considered, with advice that can be pinned or stored per query ID.
Source and freshness
- Source
- clickhouse.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.