v0.1 Archive: Welcome to pg_mooncake (Delta Lake)
pg_mooncake v0.1 Archive (Delta Lake Engine)This page documents pg_mooncake v0.1, which used direct CREATE TABLE ... USING columnstore DDL and Delta Lake storage. Starting in v0.2 and PGSTY’s v0.3.0 release, pg_mooncake uses moonlink real-time columnstore mirrors (CALL mooncake.create_table + USING mooncake) and Apache Iceberg v2. For current documentation, see Introduction and v0.1 vs v0.2 & v0.3.
pg_mooncake v0.1 is the first-generation PostgreSQL extension that added USING columnstore tables backed by Delta Lake and DuckDB (pg_duckdb) for analytical workloads.

Key Features of v0.1
- Transactional
INSERT,UPDATE, andDELETEdirectly onUSING columnstoretables - Columnar Parquet + Delta Lake metadata stored on local disk or S3 / R2 object storage
- Vectorized analytical execution via embedded DuckDB
- Seamless joins between regular PostgreSQL heap tables and
USING columnstoretables
v0.1 Archive Contents
| Section | Pages |
|---|---|
| Introduction | v0.1 Architecture |
| Getting Started | Get Started · Hello World · Cloud Storage · Neon Postgres |
| Reference | Reference Overview · Columnstore DDL · Querying Outside Postgres · Configurations · Load Data · Query External Files · Supported Queries |
| Use Cases | Data Archiving · Operational Analytics · Data Warehousing |
Architecture of pg_mooncake v0.1: Table Access Method (USING columnstore), Parquet + Delta Lake metadata, and DuckDB read/write paths.
Historical v0.1 installation guide using Docker or source builds for PostgreSQL 14–17.
Basic operations on v0.1 USING columnstore tables: CREATE TABLE, INSERT, UPDATE, DELETE, transactions, and joins.
Configuring S3 and Cloudflare R2 buckets in pg_mooncake v0.1 using mooncake.create_secret and mooncake.default_bucket.
Historical guide for enabling pg_mooncake v0.1 on Neon serverless PostgreSQL.
Reference index for pg_mooncake v0.1 DDL, Delta Lake metadata catalogs, GUC parameters, data loading, and external file queries.
Creating and dropping USING columnstore tables in pg_mooncake v0.1, supported data types, constraints, and default_table_access_method.
Inspecting mooncake.columnstore_tables and mooncake.data_files in pg_mooncake v0.1 and querying Delta Lake tables from Python Polars.
Historical PostgreSQL GUC variables in pg_mooncake v0.1 (mooncake.default_bucket, maximum_memory, maximum_threads, enable_local_cache, enable_memory_metadata_cache).
Loading data into pg_mooncake v0.1 USING columnstore tables from Postgres tables, Parquet/CSV/JSON files, Iceberg/Delta tables, and HuggingFace.
Querying external Parquet, CSV, JSON, Iceberg, and Delta Lake files in pg_mooncake v0.1 using mooncake.read_parquet, mooncake.read_csv, and mooncake.read_json.
Analytical query patterns, unsupported PostgreSQL functions, and DuckDB function placeholders in pg_mooncake v0.1.
Historical v0.1 pattern for moving old rows from heap tables into a USING columnstore archive table.
Historical v0.1 staging-table trigger and pg_cron pattern for near-real-time analytics before Moonlink was introduced.
Historical v0.1 guide for daily aggregation pipelines and dbt integration using default_table_access_method = ‘columnstore’.