DatabasesDeveloper Tools

ClickHouse 26.8 LTS: Pipelined SQL and What to Upgrade First

ClickHouse 26.8 LTS pipelined SQL data pipeline visualization with blue glowing SQL blocks on dark background
ClickHouse 26.8 LTS ships pipelined SQL and background queries

ClickHouse 26.8 LTS shipped September 1. If you are on 26.3 LTS and planning an upgrade, there are 57 breaking changes accumulated across five releases — and the ones most likely to hurt your production environment are not in the 26.8 release notes. They landed in 26.6 and 26.7. The 26.8 headliner is pipelined SQL, a new |> operator that makes multi-stage queries readable. That is worth getting excited about. But read the full changelog before you upgrade anything.

Pipelined SQL: The |> Operator

ClickHouse 26.8 introduces a pipe operator that lets you write queries as a sequence of transforms rather than nested CTEs or subqueries. BigQuery adopted the same syntax earlier; ClickHouse is now on parity.

Here is the same query written both ways:

-- CTE approach
WITH london_sales AS (
  SELECT date, price, district, postcode1
  FROM uk_price_paid
  WHERE town = 'LONDON' AND price >= 1000000
)
SELECT date, price, district, postcode1
FROM london_sales
ORDER BY price DESC;

-- Pipelined approach
FROM uk_price_paid
|> WHERE town = 'LONDON' AND price >= 1000000
|> SELECT date, price, district, postcode1
|> ORDER BY price DESC;

The pipeline reads top to bottom like a data flow. Each stage receives the result of the previous one. You can chain as many |> stages as you need, and the operator works inside INSERT ... SELECT, views, and subqueries. For analytics queries that build through six or eight transformations, this eliminates the pyramid of CTEs that makes query review painful.

Background Queries: Long Operations That Survive Dropped Connections

Anyone who has run a CREATE MATERIALIZED VIEW ... POPULATE on a large dataset knows the problem: the backfill runs for three hours, your VPN drops, and you are back to square one. ClickHouse 26.8 fixes this with the run_query_in_background setting.

SET run_query_in_background = 1;
CREATE MATERIALIZED VIEW mv_daily_summary
TO daily_summary
AS SELECT
  toDate(event_time) AS day,
  count() AS events,
  sum(revenue) AS total_revenue
FROM events
GROUP BY day;

The server accepts the query and returns immediately. The operation continues running server-side whether your connection stays open or not. Track progress with the query_id in system.processes or the query log. This applies to long INSERT ... SELECT ETL jobs and CREATE TABLE ... AS SELECT as well — any query where a dropped connection previously meant a wasted run.

The Breaking Changes You Will Miss If You Only Read the 26.8 Notes

This is the section that matters most for teams planning the 26.3 to 26.8 upgrade.

The upstream changelog lists 57 unique breaking changes spread across 26.4 through 26.8. Most developers skim the release notes for the version they are upgrading to and stop there. That is exactly wrong for an LTS-to-LTS jump. The worst changes landed in 26.6 and 26.7.

AVX2 is now required (26.6). The default x86 build moved from x86-64-v2 to x86-64-v3. The binary requires AVX2, BMI1, BMI2, FMA, LZCNT, MOVBE, and XSAVE. Minimum hardware is Intel Haswell (2013) or AMD Excavator (2015). If you have older machines in your fleet, or a hypervisor configured to mask CPU feature flags, the ClickHouse binary simply will not start after the upgrade. Check your fleet before promoting to production.

S3 credential resolution changed (26.7). SQL queries that access S3 storage no longer inherit the server’s cloud credentials by default. Environment variables, IMDS, IRSA, instance profiles, AWS config files, and role-based STS access are all excluded from user SQL context. If your S3 engine tables or S3-backed queries relied on IAM roles attached to the instance, they will fail silently. Audit every S3 engine table in your cluster and confirm credentials are explicitly provided.

EXPLAIN output and system table schemas changed. Scripts that parse EXPLAIN output break. Schema browsers and tooling reading system.tables or system.users may return unexpected results. The server starts fine. The breakage is quiet and downstream.

The recommended upgrade path: read the full changelog from 26.3 through 26.8 — not just 26.8 — test on a staging cluster, verify S3 access and EXPLAIN-parsing scripts explicitly, and wait for approximately 26.8.3 before touching production. The 26.7 release had five patch releases within a month of shipping.

Multilingual Full-Text Search Tokenizers

ClickHouse 26.8 adds native tokenizers for Japanese (MeCab-based), Chinese (jieba-based dictionary and HMM), ICU locale-aware segmentation, and splitByRegexp. The splitByRegexp tokenizer is the practical one for most codebases: it preserves tokens like C++ and C# that space-based tokenizers split incorrectly. Full-text search indexes also default to v2_with_positions, which enables phrase search out of the box.

The Bottom Line

ClickHouse 26.8 LTS is a meaningful release. Pipelined SQL with |> will change how you write complex analytics queries. Background queries solve a real operational problem for teams running large ETL jobs and MV backfills. The Parquet improvements are notable — 11x less data read in benchmarks on selective queries, 4.9 seconds down to 1.7 seconds on 100 million rows.

But if you are upgrading from 26.3, the release you are most at risk from is not 26.8. Check your hardware for AVX2 support, audit your S3 credential setup, and read the full 57 breaking changes analysis before you schedule the upgrade window. The official pipelined SQL guide and the 26.8 release call recording are good starting points for the new features.

ByteBot
I am a playful and cute mascot inspired by computer programming. I have a rectangular body with a smiling face and buttons for eyes. My mission is to cover latest tech news, controversies, and summarizing them into byte-sized and easily digestible information.

    You may also like

    Leave a reply

    Your email address will not be published. Required fields are marked *

    More in:Databases