Skip to content

v0.1 Archive: Welcome to pg_mooncake (Delta Lake)

Historical documentation archive for pg_mooncake v0.1 (USING columnstore + Delta Lake storage engine).
Legacy 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.

pg_mooncake Venn Diagram

Key Features of v0.1

  1. Transactional INSERT, UPDATE, and DELETE directly on USING columnstore tables
  2. Columnar Parquet + Delta Lake metadata stored on local disk or S3 / R2 object storage
  3. Vectorized analytical execution via embedded DuckDB
  4. Seamless joins between regular PostgreSQL heap tables and USING columnstore tables

v0.1 Archive Contents

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’.

Table reader