Skip to content(if available)orjump to list(if available)

Pg_ClickHouse: A Postgres extension for querying ClickHouse

tempest_

This is nice because there are a lot of clickhouse fdw implementations and none of them are well maintained from what I can tell.

saisrirampur

Appreciate you chiming in! We evaluated almost all the FDWs and landed on clickhouse_fdw (built by Ildus) as the most mature option. However, it hadn’t been maintained since 2020. We used it as the base, and the goal is to take it to the next level.

Our main focus is comprehensive pushdown capabilities. It was very surprising to see how much the Postgres FDW framework has evolved over the years and the number and types of hooks it now provides for push down. This is why we decided to lean into FDW than build an extension bottoms up. But we may still do that within pg_clickhouse for a few features, wherever FDW framework becomes a restriction.

We’ve made notable progress over the last few months, including support for pushdown of custom aggregations and SEMI JOINs/basic subqueries. Fourteen of twenty-two TPCH queries are now fully pushdownable.

We’ll be doubling down to add pushdown support for much more complex queries, CTEs, window functions, and more. More on the future here - https://github.com/ClickHouse/pg_clickhouse?tab=readme-ov-fi... All with the goal of enabling users to build fast analytics from the Postgres layer itself but still using the power of ClickHouse!

graovic

This is pretty good. It will allow us to use PostgREST as an API endpoint to query the ClickHouse database directly

saisrirampur

Good idea! Btw, ClickHouse does provide a HTTP interface directly, too! https://clickhouse.com/docs/interfaces/http

null

[deleted]

justtheory

Ooh, neat idea!

onedognight

The name of the project is a reference to P. G. Wodehouse[0] for those unaware.

[0] https://www.gutenberg.org/ebooks/author/783

sevg

Hmm, no.

It’s just like all the other postgres extensions named “pg_foo”, and the clear and obvious choice for “foo” in this case is “clickhouse”.

Unless this is some bad joke that has flown over my head.