DuckCon #7

Making Iceberg walk and talk like Postgres

Marco Slot · DuckCon #7
6
sections
9
slides
PostgresApache IcebergDuckDBLakehouseData Pipelinespg_lake
Watch on YouTube ↗
01 / Intro

frame_00m00s.png
frame_00m00s.png
frame_00m03s.png
frame_00m03s.png
More detail

The speaker frames pg_lake as an answer to three needs at once: infinite object-storage-backed capacity, analytical speed, and transactional data movement across systems.

02 / What it is

frame_00m12s.png
frame_00m12s.png
frame_00m15s.png
frame_00m15s.png
More detail

Positioned as a lightweight extension rather than a separate engine: you keep using Postgres, but gain object-storage-backed Iceberg tables.

03 / How queries work

frame_00m45s.png
frame_00m45s.png
frame_00m51s.png
frame_00m51s.png
More detail

The slide walks the Iceberg on-disk hierarchy from metadata files down through manifest lists and manifests to the Parquet data files, all reachable from the Postgres instance.

04 / Architecture

frame_00m06s.png
frame_00m06s.png
frame_00m09s.png
frame_00m09s.png
More detail

This shared-side-car design keeps the analytical engine centralized while Postgres remains the front door and the home of all Iceberg logic.

05 / Transactions

frame_02m21s.png
frame_02m21s.png
More detail

By keeping the Iceberg catalog inside Postgres and updating it within the user transaction, pg_lake gives lakehouse writes ACID guarantees that normally require complex external systems.

06 / Pipelines & catalogs

More detail

The speaker notes the design resembles Duck Lake and invites the community to test the generated code by trying the open Duck Lake PR.

Key Takeaways