Query ClickHouse over HTTP with readonly=1 on every request

Query ClickHouse over the HTTP interface with readonly=1, a 500-row cap and a 15-second server limit. Browse tables, column types, skipping indexes and DDL.

Transport: ClickHouse HTTP interface (port 8123, or 8443 with TLS)

What you can do today

  • Database and table navigation
  • Column types, data skipping indexes and the table's DDL
  • SQL sent with readonly=1, so the server rejects writes and settings changes
  • Server-side limits of 500 result rows and 15 seconds of execution time
  • HTTPS with certificate verification, including ClickHouse Cloud on port 8443
  • SSH tunnels to self-hosted servers

Not supported yet

  • The native TCP protocol (port 9000)
  • INSERT, ALTER and other mutations
  • Custom CA and client certificates

Why HTTP

ClickHouse ships a full HTTP interface on port 8123 (8443 for HTTPS). Using it means DevOpsPad works with self-hosted servers and ClickHouse Cloud alike, through ordinary TLS, and through SSH tunnels without any special driver.

Each request is sent with readonly=1, max_result_rows=500 with result_overflow_mode=break, and max_execution_time=15. These are enforced by the server, not just by the app: ClickHouse refuses writes, stops reading after 500 rows and cancels long scans. The app adds its own 20-second outer timeout on top.

Browse before you scan

Pick a database to list its tables. Opening a table shows its column types, its data skipping indexes from system.data_skipping_indices, and the DDL from SHOW CREATE TABLE, so you can see the ORDER BY key and partitioning before you write a query that scans the whole table.

SELECT toStartOfHour(ts) AS hour, count() AS events
FROM analytics.events
WHERE ts >= now() - INTERVAL 1 DAY
GROUP BY hour
ORDER BY hour;

Each query tab keeps its own database scope, and results can be sorted, filtered and exported to CSV.

ClickHouse Cloud and private servers

For ClickHouse Cloud, use port 8443 and enable Use TLS with certificate verification. For a server inside a private network, turn on an SSH tunnel and keep the host as it is seen from the SSH server.

Limits

The native protocol and mutations are not supported. Results are previews for investigation, not exports of full tables. See result limits for how the caps work across engines, or the MySQL connector for transactional databases.

Help articles

Frequently asked questions

Which port should I use for ClickHouse in DevOpsPad?

Use the HTTP interface, port 8123, or 8443 with TLS enabled for ClickHouse Cloud and other HTTPS endpoints. The native TCP port 9000 is not supported.

What happens if my ClickHouse query matches millions of rows?

The request asks the server to stop after 500 result rows and to give up after 15 seconds, so the query cannot flood the app. Aggregate in SQL or add a LIMIT for the rows you need.

Can I run INSERT or ALTER statements?

No. Every request carries readonly=1, which makes ClickHouse reject writes and setting changes on the server side.