🦆 Announcing DuckDB 2.0.0 LTS “Cinnamon Teal”
We are proud to release DuckDB 2.0.0, named after the cinnamon teal (Spatula cyanoptera), a striking reddish-brown duck found in the western Americas. 🌎
DuckDB 2.0.0 is the biggest DuckDB feature release so far. It ships a polished version of the Quack protocol, which turns DuckDB into a full-fledged server. It improves performance and lowers costs through supporting asynchronous I/O, a first-class VARIANT type, and a dedicated “agent mode”. It also empowers extension developers with a new SQL parser that allows adding new statements, clauses, and keywords, a new API to build on, and a new mechanism to distribute extensions more easily.
In our announcement blog post, we summarize the highlights and then walk through the key changes and give guidance on how to migrate to 2.0. For the complete release notes, see the release page on GitHub.
duckdb.org/2026/10/21/announ…
#DuckDB
From JSON Strings to Typed Columns 🧵 🏛️
DuckDB’s `read_json` turns JSON files into tables. It reads through part of the data to work out a schema, then gives you typed columns.
However, a lot of JSON does not come as files. It comes as a text column: event payloads in a Postgres table, API responses stored by an ingestion job, a `metadata` column in a CSV export.
In this blog post, we infer a schema from such a column, adjust it, and turn the column into typed columns, without first writing the data to a file. The best part: we get the result directly in SQL.
Read more: duckdb.org/2026/10/16/json-t…
#DuckDB #JSON
DuckDB retweeted
DuckDB is the Swiss Army knife of databases.
What’s Inside an Iceberg Table? 🧊 📦
An Apache Iceberg table looks like a regular table when you query it, but beneath the surface…well, it’s like an iceberg. 😅
Underneath, you’ll find a small tree of files: one JSON file at the top, a few layers of Avro files in the middle, and Parquet files at the bottom. When something is slow or looks wrong, it helps to know what’s in that tree.
DuckDB can read all three formats, so you can inspect every layer with plain SQL. In this post, we create a small Iceberg table, change it a few times, and then walk through the files from the top down: duckdb.org/2026/10/13/inside…
#ApacheIceberg #DuckDB
What’s Inside an Iceberg Table? 🧊 📦
An Apache Iceberg table looks like a regular table when you query it, but beneath the surface…well, it’s like an iceberg. 😅
Underneath, you’ll find a small tree of files: one JSON file at the top, a few layers of Avro files in the middle, and Parquet files at the bottom. When something is slow or looks wrong, it helps to know what’s in that tree.
DuckDB can read all three formats, so you can inspect every layer with plain SQL. In this post, we create a small Iceberg table, change it a few times, and then walk through the files from the top down: duckdb.org/2026/10/13/inside…
#ApacheIceberg #DuckDB
DuckDB retweeted
We are proud to sponsor @cidrdb, the Conference on Innovative Data Systems Research, for the next 5 years. And every other year, CIDR is hosted in our hometown of Amsterdam, so we hope to see you around!
cidrdb.org/cidr2027/org.html
Using DuckDB to effortlessly modernize your legacy 🦆🧓🏽
In this talk from DuckCon, Nicolas Renkamp from Merck shares how the team used SQLFrame to migrate #PySpark to #DuckDB without any code changes
Watch the full presentation here: youtube.com/watch?v=F91vrV6u…
Or browse the slides: blobs.duckdb.org/events/duck…
DuckDB retweeted
This article from the DuckDB Team intrigued me. A DuckDB database does not need to hold any data, but instead view definitions pointing to Parquet data.
So it acts as a catalog for views that are run on object storage data and returned locally. No need to ever store data in the db itself.
duckdb.org/2026/10/07/view-o…
Agent Mode in the DuckDB CLI 🤖 🦆
The #DuckDB v2.0 CLI has an agent mode that gets AI coding agents to a correct result faster and with fewer tokens.
When the CLI detects an agent, it prints compact Markdown tables instead of padded boxes, says clearly when a result was cut, stops runaway queries early, and reports errors as JSON. Long queries announce their expected cost before they start, so the agent can decide whether to wait.
Learn more in today’s blog post: duckdb.org/2026/10/09/agent-…
DuckDB retweeted
DuckDB is an inflection point in history of databases .
A DuckDB Database with No Data in It 🦆 🫨
A DuckDB database file does not have to contain any data. It can store nothing but view definitions that point at files stored somewhere else, such as Parquet on object storage.
The file stays a few hundred kilobytes no matter how large the data it describes, and anyone who attaches it sees a set of named relations that are ready to query.
@NikolasGoebel described this idea in his post “DuckDB doesn't need data,” which argues that modern databases have separated where data is stored from how it is read, to the point that most databases no longer need to hold any data of their own.
From that perspective, #DuckDB becomes a browser for the data cloud, where you access a dataset through a URL rather than a copy on your own disk.
In this blog post, we turn that idea into a small, shareable catalog: duckdb.org/2026/10/07/view-o…
A DuckDB Database with No Data in It 🦆 🫨
A DuckDB database file does not have to contain any data. It can store nothing but view definitions that point at files stored somewhere else, such as Parquet on object storage.
The file stays a few hundred kilobytes no matter how large the data it describes, and anyone who attaches it sees a set of named relations that are ready to query.
@NikolasGoebel described this idea in his post “DuckDB doesn't need data,” which argues that modern databases have separated where data is stored from how it is read, to the point that most databases no longer need to hold any data of their own.
From that perspective, #DuckDB becomes a browser for the data cloud, where you access a dataset through a URL rather than a copy on your own disk.
In this blog post, we turn that idea into a small, shareable catalog: duckdb.org/2026/10/07/view-o…
[Guest blog:] 🍃🦆☕
At the company where I work, we store vulnerability data for our clients as a collection of documents in MongoDB. Initially, our analytics screen performed well, but as our data volume increased, response times began to slow.
We needed to find an alternative.
So we moved a year of data into #DuckDB on the same server. Getting the data in was the hard part.
This is the story of every method we tried, and why a table function written in pure Java is the one we shipped: duckdb.org/2026/10/05/import…
Analytical workloads are full of repeated strings 🧵: product names, country names, station names, user agents, category labels, duck species, and more.
Grouping on repeated strings is expensive. By moving them into a small dimension table with sorted, narrow integer keys, #DuckDB can aggregate on fixed-width integers and keep its hash tables compact. The strings come back in a final JOIN against a result that is already small.
This approach helps most when you repeatedly aggregate on long strings that have few distinct values.
Here’s how to achieve faster string aggregations with dimension tables: duckdb.org/2026/10/02/dimens…
DuckDB as an analytical runtime 📊 🦆
What if a DuckDB file could contain an entire analytics workspace?
In this talk from DuckCon, Ilya Boyandin from Foursquare / GeoVisually GmbH presents on building local-first analytics apps with SQLRooms and DuckDB.
Learn how to build DuckDB-native analytical apps that are lightweight, portable, local-first, inspectable, and reproducible. 🪺
Watch the full DuckCon presentation: youtube.com/watch?v=fV1LXnPl…
Or lurk through the slides here: blobs.duckdb.org/events/duck…
Jev & DuckDB: Plain-English Conditions in SQL 😎 🦆
Say you have a Parquet file of 50,000 support tickets and want to know which customers are angry. A `LIKE` pattern won’t find that.
The usual options are to label data and train a classifier, or to send each row to a chat LLM and parse the text it returns. The first takes work up front. The second is slow and costs more per row.
Jev – introduced by TypeSafe AI earlier this month – is a model that answers this kind of question with a typed value and a probability instead of a paragraph. Since then, a number of #DuckDB community extensions for Jev have been published that let you filter, classify, and score DuckDB rows with plain-English conditions.
This post covers what Jev is, how the extensions work, and where to learn more: duckdb.org/2026/09/29/jev?ut…
#Jev
Announcing DuckDB 1.5.6 🦆 🦆
Today, we are releasing DuckDB 1.5.6 with bugfixes and performance improvements.
This is the sixth patch release in #DuckDB’s 1.5 (Variegata) line. The release ships bugfixes, performance improvements, and security patches.
Find the full release notes on GitHub or browse the overview here: duckdb.org/2026/09/28/announ…





















