Hello HN, one of the founders of Mooncake Labs here.
Today, we are launching pg_mooncake, an extension that brings columnstore tables with DuckDB execution to Postgres. Expect analytical performance akin to DuckDB on Parquet (clickbench results to come soon).
You can run transactional updates, deletes, inserts on these tables, and they're written as Delta Lake tables (and soon Iceberg) to your object store (S3, etc.).
pg_mooncake is live on Neon today. Let us know what you think. It'll be coming to Supabase shortly, and other Postgres providers in the future.
Why another postgres analytics extension?
We actually leverage pg_duckdb and DuckDB as our execution engine — this is how we were able to ship the extension in just 60 days. We wrote about this with the DuckDB team: https://motherduck.com/blog/pg-mooncake-columnstore/
pg_mooncake shines in two scenarios:
1. Up-to-date analytics in Postgres
- This is where having a table semantics, and not just exporting files is key.
2. Exporting Postgres Data to Iceberg/Delta Lake tables, and querying them outside of Postgres
- Run ad-hoc analytics with Pandas, DuckDB, Polars. Or data transforms and processing with Polars and Spark directly on these tables.
You don’t need to manage ad-hoc parquet files and complex pipelines.
Mooncake Labs.
We just came out of stealth today.
Mooncake is a managed Lakehouse with clean Postgres and Python experiences. Our core belief is that open table formats (Iceberg and Delta) provide a lot of flexibility, and we can ensure great DevEx on top. We will bring it to more workloads, applications, developers and agents.
Read about our beliefs: https://mooncake.dev/blog/3.
Cheers!
reply