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
Connect to ClickHouse over HTTP
Connect DevOpsPad to self-hosted ClickHouse or ClickHouse Cloud through the HTTP interface on port 8123, or 8443 with TLS, and test the connection.
Run read-only ClickHouse queries
Run SQL against ClickHouse in DevOpsPad with readonly=1, a 500-row cap and a 15-second execution limit, and inspect columns, skipping indexes and DDL.
Use TLS with database connections
How the Use TLS with certificate verification option works for MySQL, ClickHouse, MongoDB, Redis and Kafka in DevOpsPad, and what TLS setups are not supported.
Why results stop at 500 rows
DevOpsPad caps previews at 500 rows or documents and 8 MiB, with a 20-second timeout. See the limit for each engine and how to page through larger data.
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.