Roadmap
The roadmap items below reflect the historical upstream pg_mooncake v0.2 design goals published at docs.mooncake.dev/pg/roadmap, together with the current maintenance scope of the pgsty/pg_mooncake fork (v0.3.0).
PGSTY Maintenance Focus (v0.3.0+)
The PGSTY fork of the Mooncake suite (pg_mooncake v0.3.0, duckdb_mooncake v0.0.2, moonlink v0.0.1) prioritizes long-term production stability, PostgreSQL version coverage, and security hardening:
- PostgreSQL 14–18 Compatibility: Keeping
pg_mooncakesynchronized with currentpgrx(0.19.3) across PostgreSQL 14, 15, 16, 17, and 18 on Linux (x86_64andaarch64, RHEL/Rocky EL8–EL10, Debian 12/13, Ubuntu 22.04/24.04). - DuckDB
2.0.0&pg_duckdb 1.2.0Alignment: Maintaining ABI compatibility betweenpg_mooncake,pg_duckdb, andduckdb_mooncakeas DuckDB evolves itsTableCatalogEntry,TableFilterSet, andStorageExtensionAPIs. - Correctness & Fail-Fast Guards: Enforcing runtime
pg_duckdbversion checks, LSN-consistent snapshot reads on columnstore tables, automaticREPLICA IDENTITY FULLpropagation across partitioned table hierarchies, and explicit0A000errors on deprecated helpers. - Dependency Security Hygiene: Regularly auditing and upgrading Rust dependencies across all three lockfiles (
pg_mooncake,moonlink,duckdb_mooncake/moonlink_ffi) against the RustSec Advisory Database.
Historical Upstream Roadmap (v0.2)
The following four capabilities were outlined by Mooncake Labs for the v0.2 architecture:
1. Columnstore Table for Logs / Events
Introduce an append-only mode for columnstore tables:
- Optimized for streaming ingestion and out-of-order inserts.
- Built-in time-based partitioning and retention policies.
- Targeted at observability, telemetry, and high-throughput event pipelines.
2. Native Columnstore Tables (Without a Backing Rowstore)
Create and write directly to a columnstore table without requiring a companion PostgreSQL heap table:
- Supports standard
INSERT,SELECT,UPDATE,DELETE, andCOPYdirectly against the columnstore access method. - Note: Native
USING columnstoretables were available inv0.1(Delta Lake), whereasv0.2andv0.3.0usemooncake.create_table(dst, src)to mirror a PostgreSQL heap table via logical replication.
3. Write to Existing Iceberg Tables
Create a columnstore mirror in PostgreSQL that writes into an existing external Apache Iceberg table managed by a REST or JDBC catalog, allowing bilateral interoperability with Spark, Trino, and Flink writers.
4. Query Routing & Partitioned Tables
Transparently route analytical queries across hybrid rowstore + columnstore partitioned hierarchies without requiring manual UNION ALL queries or explicit dual-table references.