---
title: "Comparing ClickHouse versions with clickhousectl"
description: "Evaluating query performance differences across ClickHouse versions previously required managing Docker containers or manually downloading historical binaries from GitHub releases. The clickhousectl command-line interface simplifies this process by downloading specific ClickHouse binaries, running multiple background server instances concurrently with automatic port assignment, and executing queries across local environments. Users can copy table schemas between local instances by piping raw output from SHOW CREATE TABLE queries and replicate datasets using ClickHouse's remote table function. In a benchmark comparing ClickHouse 25.12 and 26.3 on an S3-backed Parquet dataset, version 26.3 introduced a Parquet metadata cache that reduced repeat query times from roughly 9 seconds to 1–2 seconds. System tables like system.server_settings and system.metrics enable operators to inspect cache configurations, eviction policies, and memory consumption directly."
---

# Comparing ClickHouse versions with clickhousectl

[Clickhouse](https://yomu.fyi/company/clickhouse) · Mark Needham · Apr 29, 2026

**Type:** Tutorial

## Summary

Evaluating query performance differences across ClickHouse versions previously required managing Docker containers or manually downloading historical binaries from GitHub releases. The clickhousectl command-line interface simplifies this process by downloading specific ClickHouse binaries, running multiple background server instances concurrently with automatic port assignment, and executing queries across local environments. Users can copy table schemas between local instances by piping raw output from SHOW CREATE TABLE queries and replicate datasets using ClickHouse's remote table function. In a benchmark comparing ClickHouse 25.12 and 26.3 on an S3-backed Parquet dataset, version 26.3 introduced a Parquet metadata cache that reduced repeat query times from roughly 9 seconds to 1–2 seconds. System tables like system.server\_settings and system.metrics enable operators to inspect cache configurations, eviction policies, and memory consumption directly.

## Context

Comparing ClickHouse query performance across releases historically required either running Docker containers or manually locating and downloading older binaries from GitHub releases.

## Approach / What changed

Operators can use the clickhousectl CLI to download specific ClickHouse releases, launch side-by-side local server instances with auto-assigned ports, transfer schemas via piped CLI queries, migrate data using the remote table function, and execute automated benchmark queries using the --queries-file flag.

## Takeaways

- The clickhousectl CLI allows concurrent execution of multiple ClickHouse versions locally by automatically allocating unique HTTP and TCP ports to subsequent server instances.
- Table schemas can be migrated between local ClickHouse servers via CLI piping using SHOW CREATE TABLE with --output-format LineAsString, while data can be transferred using the remote table function.
- ClickHouse 26.3 introduces a Parquet metadata cache with an SLRU policy that accelerates repeated S3 Parquet queries from 8–9 seconds down to 1–2 seconds.

**Tags:** [Developer Experience](https://yomu.fyi/topic/developer-experience), [Open Source](https://yomu.fyi/topic/open-source), [Performance](https://yomu.fyi/topic/performance)

- Source: [Clickhouse](https://clickhouse.com/blog/clickhousectl-compare-versions)
- Source URL: https://clickhouse.com/blog/clickhousectl-compare-versions
- Ingested by Yomu: 2026-08-28T01:25:14.786Z

[Read original post](https://clickhouse.com/blog/clickhousectl-compare-versions)
