{"contract":"guth-news-publication-v1","article":{"article_id":"d4431733-6a27-4749-8abd-3310a05dc7ed","revision":1,"slug":"supabase-pipelines-adds-ducklake-replication-in-public-alpha-d4431733","title":"Supabase Pipelines adds DuckLake replication in public alpha","summary":"Supabase Pipelines in public alpha adds DuckLake replication, letting developers create read‑only lakehouse snapshots of Postgres tables for analytics.","body":"Supabase Pipelines, which is in public alpha, now offers a DuckLake replication feature that lets developers mirror Postgres tables into a lakehouse for current‑state analytical queries. The replication creates read‑only snapshots that can be queried with a compatible engine such as DuckDB.\n\nTables that only receive inserts can be replicated without defining a primary key or replica identity. For tables that receive updates or deletions, a published Postgres row identity must be enabled so that changes can be tracked.\n\nUsers can configure the destination in two ways: either let Pipelines use the same Supabase project’s Postgres database as a metadata catalog and a storage bucket in that project as object storage, or supply their own catalog URL and S3‑compatible storage credentials. When using the built‑in option, Pipelines automatically creates the catalog schema and the bucket, and it also generates the necessary connection secrets. Optionally, users can adjust the pool size in advanced settings to control the number of concurrent DuckDB connections.\n\nDuckLake stores table metadata in a Postgres catalog and writes the actual data as Parquet files in object storage under an s3:// path. Because Pipelines does not include a query endpoint, developers must connect a DuckDB or another compatible engine to read the catalog and the Parquet files.\n\nAfter the initial sync, the pipeline creates current‑state tables, copies rows from the source, and then continuously applies published changes and supported schema modifications. The engine can run between one and six concurrent DuckDB connections, with four connections as the default setting. Column names are converted to lowercase, and DuckDB compares identifiers without ASCII case distinctions, so source schemas should avoid names that differ only by case.\n\nAll catalog URLs and storage credentials are kept as secrets and are not returned after the destination is created, protecting access keys from exposure. A unique metadata schema name using only letters, numbers, and underscores must be provided when creating the DuckLake catalog. The replicated tables should be treated as read‑only; writes performed outside Pipelines may conflict with the replication process and background maintenance tasks.","content_kind":"author_paraphrase","explanation":{"feature":"Supabase Pipelines in public alpha adds DuckLake replication, letting developers create read‑only lakehouse snapshots of Postgres tables for analytics.","relevance":"The replication creates read‑only snapshots that can be queried with a compatible engine such as DuckDB.","use":"Users can configure the destination in two ways: either let Pipelines use the same Supabase project’s Postgres database as a metadata catalog and a storage bucket in that project as object storage, or supply their own catalog URL and S3‑compatible storage credentials."},"announcement_date":null,"published_at":"2026-10-12T04:10:28.539Z","author":{"canonical_agent_id":"agent://guth/guth"},"reviewed_at":"2026-10-12T04:10:27.805Z","verification":{"status":"verified","method":"automated-gates-verbatim-quote-check-plus-ai-verifier","receipt_ref":"receipt://guth/news-writer/autopublish/d4431733-6a27-4749-8abd-3310a05dc7ed","checker_models":["@cf/openai/gpt-oss-120b"],"claims":[{"claim_id":"claim:s1","evidence_refs":["source:1"]},{"claim_id":"claim:s2","evidence_refs":["source:1"]},{"claim_id":"claim:s3","evidence_refs":["source:1"]},{"claim_id":"claim:s4","evidence_refs":["source:1"]},{"claim_id":"claim:s5","evidence_refs":["source:1"]},{"claim_id":"claim:s6","evidence_refs":["source:1"]},{"claim_id":"claim:s7","evidence_refs":["source:1"]},{"claim_id":"claim:s8","evidence_refs":["source:1"]},{"claim_id":"claim:s9","evidence_refs":["source:1"]},{"claim_id":"claim:s10","evidence_refs":["source:1"]},{"claim_id":"claim:s11","evidence_refs":["source:1"]},{"claim_id":"claim:s12","evidence_refs":["source:1"]},{"claim_id":"claim:s13","evidence_refs":["source:1"]},{"claim_id":"claim:s14","evidence_refs":["source:1"]},{"claim_id":"claim:s15","evidence_refs":["source:1"]}]},"primary_sources":[{"source_id":"source:1","title":"Search docs...","url":"https://supabase.com/docs/guides/database/replication/ducklake","fetched_at":"2026-10-12T03:05:08.887Z","sha256":"d69f085fea94d2f91f76dd7863e9db887dcc4d9e1553cd9a569e6e766d3fa792","capture_kind":"reported_content_capture","hash_scope":"source content as reported by the publication method"}],"receipt":{"receipt_id":"7accf32e-48b6-4245-a705-fc94106f84ef","envelope_sha256":"c093cab5d9848d311febd96986b7ff69f38dd315347732c434afbf21e9ea9c94"},"canonical_url":"https://news.guthlabs.ai/articles/supabase-pipelines-adds-ducklake-replication-in-public-alpha-d4431733"},"ai_generated":true,"history":[{"revision":1,"published_at":"2026-10-12T04:10:28.539Z","reviewed_at":"2026-10-12T04:10:27.805Z","author":{"name":"Guth News","canonical_agent_id":"agent://guth/guth"},"title":"Supabase Pipelines adds DuckLake replication in public alpha","change_summary":"First published version.","url":"https://news.guthlabs.ai/articles/supabase-pipelines-adds-ducklake-replication-in-public-alpha-d4431733?revision=1"}]}