ClickhouseAnnouncement
What's New in pg_clickhouse v0.3.2: Postgres 19, TLS, Regex, and Memory
Summary
pg_clickhouse v0.3.2 updates the Postgres interface for querying ClickHouse, with changes centered on PostgreSQL 19 Beta1 support, TLS configuration, regular-expression pushdown, and memory consumption. The release adds CREATE SERVER options for forcing TLS or plaintext, selecting a minimum TLS version, and enabling ClickHouse native-protocol compression. Revised pushdown logic maps Postgres regular-expression flags to ClickHouse behavior, while regexp_match() can now be pushed down when its pattern has no capturing groups. Two memory issues were fixed: one involving unbuffered HTTP-driver queries and another involving repeated foreign scans such as parameterized inner scans in nested-loop joins. The minor update requires no reload, restart, or ALTER EXTENSION UPDATE, and also fixes empty-array ANY() errors on ClickHouse versions before 25.
Context
The release addresses four stated areas: compatibility with PostgreSQL 19 Beta1, more configurable TLS connections, errors in regular-expression pushdown caused by differing flag behavior, and memory consumption issues found in customer queries and repeated foreign scans.
Approach / What changed
The update revises pg_clickhouse for PostgreSQL 19, adds secure, min_tls_version, and compression CREATE SERVER options, repairs regular-expression flag mappings and regexp_match() pushdown, and fixes memory handling for unbuffered HTTP queries and repeatedly rescanned foreign scans. It also corrects an empty-array ANY() error on ClickHouse versions before 25.
Takeaways
The secure CREATE SERVER option supports on, off, and auto modes; min_tls_version accepts TLSv1 through TLSv1.3 and defaults to the TLS library's minimum.
Postgres and ClickHouse differ for m and p regular-expression behavior: ClickHouse equivalents do not prevent negated character classes such as [^xyz] from matching a newline, so those expressions require careful testing.
The release fixes memory problems associated with unbuffered HTTP-driver queries and repeated foreign scans, including parameterized inner scans in nested-loop joins.
Source and freshness
- Source
- clickhouse.com
- Published
- Added to Yomu
- Last updated
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.