We've supported Supabase, Postgres and MySQL for a while. They're fine. They cover most of what people need.
Then we started getting asked about ClickHouse.
ClickHouse is a different animal. It's a database built for one thing: running analytical queries over enormous datasets very fast. Your Postgres instance slows down around 50 million rows. ClickHouse is designed for a billion. The query patterns are different, the architecture is different, and connecting to it requires a completely different approach under the hood.
So we built that approach.
Your SQL stays the same - reference your tables the same way you reference anything else in Sourcetable - but behind the scenes we route the computation directly to ClickHouse and bring back only the results. A GROUP BY over a billion-row events table takes two seconds instead of never finishing.
What "first class" actually means
It means the boring stuff works.
- Natural language → SQL
- Natural language → Python, operating directly on your data
- Add a credential from the chat or from the connectors page — both paths fully sync your schema
- All your tables appear in the @ picker immediately, with column types
- Queries run the same way they do against Postgres — same SQL syntax, same table references, same joins against your other data sources
- The @ mention resolver understands that @my_clickhouse.events means the events table in your ClickHouse credential
- You can join ClickHouse tables against Postgres tables or local files in the same query (requires remote data fetching for now)
The last one still surprises people. Cross-source joins work because Sourcetable handles the coordination - you just write the SQL.
If you have a ClickHouse database and want to try it, add a credential from the connectors page or paste the connection details into the chat. Your tables will appear in the @ picker as the sync completes in the background.