DuckDB

DuckDB

@duckdb.org

DuckDB is an analytical in-process SQL database management system. "DuckDB" and the DuckDB logo are registered trademarks of the DuckDB Foundation.

6K followers34 following334 posts

Last week @ducklabs.com released DuckDB 2.0, our biggest feature release so far. In this blog post, @szarnyasg.org and Geertjan Wielenga highlight a few of the hidden gems of #DuckDB 2.0 – smaller features and improvements which are still valuable – that didn’t make the main release announcement:

duckdb.orgGems of DuckDB 2.0.0We released DuckDB 2.0.0 last week with an improved Quack protocol and VARIANT support, asynchronous I/O and many other features. In this blog post, we highlight a few smaller features and improvement...

DuckDB reposted

What would SQL be without recursive common table expressions (CTE)? Correct: nothing but glorified relational algebra. Recursive CTEs (and myself 😉) are on stage during the upcoming codetalks.com 2026 conference in Hamburg. Contains lots of funky SQL examples (all runnable in @duckdb.org).

We released DuckDB 2.0 on Wednesday, leading with the Python, Java and command-line clients, plus the core extensions. By Friday, the rest of the ecosystem caught up. All primary clients support 2.0, including Go, Node.js, R and Rust, and most community extensions have been rebuilt for it.

There are even new extensions, like Mistral’s Timestral time-series model family. Timestral forecasts that if you’re based in Europe, you’ll have an extra hour this weekend – perfect for trying it out using our new compact syntax: INSTALL AND LOAD timestral FROM community;

DuckDB 2.0 is out as of yesterday! Many contributors have already migrated their Community Extensions, with more on the way. To track the transition, each extension now has a compatibility matrix across platforms and DuckDB versions. For example, see DuckPGQ's matrix at duckdb.org/community_ex...

Announcing DuckDB 2.0.0 LTS “Cinnamon Teal” 🦆 This is the biggest #DuckDB feature release ever, and it's shipping a polished version of the Quack protocol for DuckDB-as-a-server, async I/O, a first-class VARIANT type, agent mode, triggers, an extensible SQL parser and more – read on for details.

duckdb.orgAnnouncing DuckDB 2.0.0 LTS “Cinnamon Teal”The DuckDB team is happy to announce that today we're releasing DuckDB version 2.0.0 LTS, codenamed “Cinnamon Teal” (Spatula cyanoptera). This is our biggest feature release so far, and it ships a pol...

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. 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 – all in SQL.

duckdb.orgFrom JSON Strings to Typed ColumnsJSON often arrives as a text column inside a table, not as a file. In this post, we infer a schema from such a column, adjust it, and turn the column into typed columns, without first writing the data...

If you're using the DuckDB Python client and planning to upgrade to v2.0, we baked a fresh nightly build for you! You can give it a try with: pip install duckdb --pre --upgrade If you find any issues, let us know on GitHub!

What’s Inside an Iceberg Table? 🧊 📦 An #ApacheIceberg table looks like a regular table when you query it, but beneath the surface…it’s like an iceberg. 😅 With #DuckDB, you can inspect every layer with plain SQL. In this post, we create a small Iceberg table and walk through it from the top down:

duckdb.orgWhat Is Inside an Iceberg Table?An Iceberg table is a tree of JSON, Avro and Parquet files. DuckDB can read every one of them, so you can walk the tree yourself with SQL: from the metadata file, through the manifest list and manifes...

DuckDB reposted

#DuckDB is already a solid building block for fast and reliable agentic applications. And it’s getting even better with a dedicated ‘agent mode’ coming in DuckDB 2.0. 🐣🤖👍

DuckDB@duckdb.org

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.

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.

duckdb.orgAgent Mode in the DuckDB CLIThe 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 bo...

A #DuckDB file doesn't have to contain any data. It can store nothing but view definitions pointing at files stored somewhere else, such as Parquet on object storage. The file stays a few hundred KBs no matter how large the data it describes. In this post, we create such a small shareable catalog:

duckdb.orgA DuckDB Database with No Data in ItA DuckDB database file does not have to hold any data. It can store nothing but view definitions that point at Parquet files on object storage, so a few hundred kilobytes behave like a shared catalog ...

[Guest blog:] When the analytics screen running on our main operational database got too slow, we moved 1 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 Java is the one we shipped:

duckdb.orgImporting Data using Java Table FunctionsWhen the analytics screen running on our main operational database got too slow, 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 eve...

Grouping on repeated strings is expensive. 💰 By moving strings into a small dimension table with sorted, narrow integer keys, #DuckDB can aggregate on fixed-width integers and keep its hash tables compact. Here’s how to achieve faster string aggregations with dimension tables:

duckdb.orgFaster String Aggregations with Dimension TablesWhen a query groups on long, repeated strings, move the strings into a small dimension table with sorted, narrow integer keys. Aggregate on the keys, then join the strings back in at the very end. The...

DuckDB reposted

🦆 Working with RDF in DuckDB (@duckdb.org)? duck_rdf 2.8.3 is out with SPARQL enhancements, Turtle/quads export fixes, and performance improvements. Read, write, and query RDF alongside your SQL workflows. Release notes: github.com/nonodename/d... #KnowledgeGraphs #DuckDB

github.comRelease v2.8.3 · nonodename/duck_rdfWhat's Changed Sparql enhancements by @nonodename in #72 Merge in sql2rdf 2.1.7 by @nonodename in #75 Restore prior allow_parser_override_extension setting on disable_sparql_parser by @nonodename ...

🦆 DuckDB v2.0.0 ships in a few weeks. Here's an accurate depiction of our CI pipeline building the v2.0.0-dev clients. 🙌 Help us craft a great release by trying out the preview release and reporting any issues that you encounter. duckdb.org/install/?ver...

Jev & DuckDB: Plain-English Conditions in SQL 😎 🦆 Jev is a model that answers with a typed value and a probability instead of a paragraph. A number of DuckDB + Jev community extensions have been published that let you filter, classify, and score DuckDB rows with plain-English conditions. More:

duckdb.orgJev and DuckDB: Plain-English Conditions in SQLTypeSafe AI released Jev, a model that returns typed answers instead of text, on September 15, 2026. Within ten days, several community extensions let you filter, classify and score DuckDB rows with p...

Did you know that, since #DuckDB v0.10.3 (~May 2024), you can point a SELECT at a dataset on the Hugging Face Hub⁠, using the DuckDB `hf://` protocol, and query it, without downloading it first? 🤗 🦆 This blog post covers how that Hugging Face + DuckDB integration works and the use cases it fits:

duckdb.orgDuckDB and Hugging Face: Querying Datasets DirectlyHugging Face hosts hundreds of thousands of datasets, and DuckDB can read them directly, exactly where they are and without downloading anything, over the DuckDB hf:// protocol. This post looks at how...

[ICYMI:] Why SQL Won 🏁 In this interview with Let's Data Science, #DuckDB co-creator @hannes.muehleisen.org argues that the data industry misdiagnosed SQL’s problems a decade ago. What developers *actually* hated in 2013 was the install, the server and the client protocol, not the language itself:

letsdatascience.comDuckDB's creator tells LDS why SQL wonHannes Muhleisen, creator of DuckDB, told Lets Data Science that the industry misdiagnosed SQL a decade ago: what developers hated in 2013 was the install, the server and the client protocol, not the ...

DuckDB Now Ships inside dbt v2 🦆 📦 In this blog post, Geertjan Wielenga walks you through how to set up dbt v2, DuckLake and Iceberg catalogs, querying dbt’s Parquet metadata with DuckDB, plus other v2 features that matter to DuckDB users, including migrating to dbt v2. Dive in here:

duckdb.orgDuckDB Now Ships inside dbt v2dbt v2, which runs on the new Rust-based Fusion engine, is the first dbt release that ships with a built-in DuckDB adapter. This post covers setup, DuckLake and Iceberg catalogs, querying dbt's Parque...

Attending the Rows & Columns Summit in San Francisco today? *THE* @hannes.muehleisen.org, co-creator of #DuckDB, will give a talk on “Nobody Knows What OLTP Is: DuckDB Moves to the Middle” at 1:30 p.m. (today, Sept 22nd) We hope to see you there! 🦆 🦆 Sassy abstract and more info here:

duckdb.orgNobody Knows What OLTP Is: DuckDB Moves to the MiddleDuckDB is an in-process SQL database management system focused on analytical query processing. It is designed to be easy to install and easy to use. DuckDB has no external dependencies. DuckDB has bin...

When DuckDB-Wasm was launched in 2021, databases couldn't be persisted: everything lived in the Wasm heap and vanished when the tab closed. Now, DuckDB-Wasm can use the Origin Private File System (OPFS) in modern browsers as a storage backend. @carlo.piovesan.io & Geertjan Wielenga show you how:

duckdb.orgPersistent Databases in the Browser with DuckDB-Wasm and OPFSDuckDB-Wasm can open a persistent database file in the browser's Origin Private File System (OPFS). This post shows how, and when data reaches disk.

Are you attending #dbtSummit in Las Vegas? 😎 Don’t miss @hannes.muehleisen.org deliver his talk “dbt Without the Warehouse (or the Bill): DuckDB End to End” Hannes’s talk starts at 10:00 a.m. PT on Friday, Sept 18th – on Level 3, Gracia 4. Don’t miss it! And say hi to Hannes if you stop by!

DuckDB Skills for Claude Code The `duckdb-skills` plugin gives Claude Code a growing number of skills that use the DuckDB CLI to read data files, run queries, convert formats, explore object storage, search the docs, and recall earlier sessions. Here's how it works (and how you can get started):

duckdb.orgDuckDB Skills for Claude CodeThe duckdb-skills plugin gives Claude Code a growing number of skills that use the DuckDB CLI to read data files, run queries, convert formats, explore object storage, work with spatial data, search t...

We got early access to an NVIDIA Vera CPU, so we put it through its paces using DuckDB running the full TPC-H workload and compared it against a high-end x86 baseline CPU. Our experiments have two key findings.

DuckLake: The Lakehouse That's Just SQL & Parquet In this episode of @talkpython.fm , host @mkennedy.codes talks with Pedro Holanda and Guillermo Sanchez Dionis from @ducklabs.com about the unique – and powerful – architecture of #DuckLake from top to bottom. Watch/listen to the episode here:

duckdb.orgDuckLake: The Lakehouse That's Just SQL and ParquetDuckDB is an in-process SQL database management system focused on analytical query processing. It is designed to be easy to install and easy to use. DuckDB has no external dependencies. DuckDB has bin...

🐣 DuckDB v2.0 is around the corner! We started publishing alpha releases and encourage our community to give them a go. If you encounter any issues, we're more than happy to fix them before the release in October. duckdb.org/2026/09/02/t...

duckdb.orgTry DuckDB v2.0-alphaDuckDB's development team in Amsterdam has started getting DuckDB v2.0 ready for release in October. If you like shiny new things, try out the alpha releases now and report anything that might not be ...

[v2.0 preview:] #DuckDB’s recursive CTE engine now treats recursion as 1 long-lived computation: it retains eligible epoch-invariant state, chooses execution modes from exact frontier cardinalities and physical work, probes keyed state directly and gives `USING KEY ... UNION` changed-key semantics.

duckdb.orgHow DuckDB Runs Recursive CTEs FasterDuckDB's recursive CTE engine now treats recursion as one long-lived computation: it retains eligible epoch-invariant state, chooses execution modes from exact frontier cardinalities and physical work...

We hope you’ll join us for the DuckDB #Boston meetup on Sept 3rd starting at 5:30 pm happening at W Boston hotel (100 Stuart St). Meet other #DuckDB devs, learn from the technical talks, and enjoy some drinks & snacks! 🦆 🦆 🦆 Admission free, registration required, full agenda below. Who’s coming?

duckdb.orgDuckDB Boston MeetupDuckDB is an in-process SQL database management system focused on analytical query processing. It is designed to be easy to install and easy to use. DuckDB has no external dependencies. DuckDB has bin...

What’s Next for DuckDB? 🦆 🤔 @hannes.muehleisen.org, co-creator of #DuckDB, was recently interviewed by @krisajenkins.bsky.social of the Developer Voices podcast on every challenge, reward, twist and turn of building a database as popular as DuckDB -- including a big acquisition. Watch or read:

duckdb.orgWhat Next for DuckDBDuckDB is an in-process SQL database management system focused on analytical query processing. It is designed to be easy to install and easy to use. DuckDB has no external dependencies. DuckDB has bin...

DuckDB reposted

Some big news: @ducklabs.com is joining AWS, with the move expected to complete by early September. Our team will stay together in Amsterdam, with more resources to take DuckDB, DuckLake and Quack further - while the open-source Duck Stack remains free under MIT license ducklabs.com/news/2026/08...

ducklabs.comDuckLabs to Join AWS, Projects to Remain Open SourceDuckLabs provides services around the DuckDB in-process OLAP data management system directly from its main developers.

.@ducklabs.com is joining Amazon Web Services (AWS), expected to be effective by early Sept. This move gives DuckLabs the resources and reach to bring #DuckDB, DuckLake, and the Quack protocol to many more developers and orgs – while keeping our commitment to OSS Read the full announcement here:

ducklabs.comDuckLabs to Join AWS, Projects to Remain Open SourceDuckLabs provides services around the DuckDB in-process OLAP data management system directly from its main developers.

DuckDB Table Functions in Java 🦆 ☕ The DuckDB #Java client registers table functions written in pure Java, exposing any Java-accessible data source as a SQL table. That turns #DuckDB into a single-node query engine for heterogeneous joins across remote systems and local files, with no export step.

duckdb.orgDuckDB Table Functions in JavaThe DuckDB Java client can register table functions written in pure Java, exposing any Java-accessible data source as a SQL table. That turns DuckDB into a single-node query engine for heterogeneous j...

Here’s your chance to meet fellow DuckDB devs in person! Join us for the @duckdb.org Boston meetup on Sept 3rd starting at 5:30 p.m. Enjoy some drinks and snacks, meet other DuckDB users, and learn from the technical talks. Admission is free, but registration is required. Will we see you there? 🦆🦆

duckdb.orgDuckDB Boston MeetupDuckDB is an in-process SQL database management system focused on analytical query processing. It is designed to be easy to install and easy to use. DuckDB has no external dependencies. DuckDB has bin...

`Chunked Query Results in the DuckDB Java Driver` 🦆 ☕ The DuckDB #Java driver can now return query results as data chunks, avoiding JDBC’s one-row-at-a-time ResultSet. #DuckDB is a columnar, vectorized database. JDBC was designed in 1997. Here’s how the new DuckDB Java driver bridges the two:

duckdb.orgChunked Query Results in the DuckDB Java DriverThe DuckDB Java driver can now return query results as a lazily fetched sequence of columnar data chunks, avoiding JDBC's row-at-a-time ResultSet and its per-value overhead.

It’s time for a tale: Woo-oo! 🦆 🦆 🦆 🎵 🎶 The story of DuckDB is about more than just a database, but also the community around it. From our humble beginnings in 2018 🐣 to the preview announcement of DuckDB v2.0 and beyond 🦆⚡ – here’s the complete Duck tale from start to finish:

duckdb.orgHistoryHistory DuckDB and Its Ecosystem The DuckDB story now extends beyond the original database. Here is how the projects, organizations, and commercial services around it developed, and how they fit toget...

(🦆🦆!) DuckDB v2.0 will ship #JSON functions that allow you to easily apply JSON patches. #DuckDB ’s JSON extension already covers reading JSON, extracting paths, applying RFC 7396 merge patches, and the usual scalar accessors. Read more in this post by Mustafa Khan: duckdb.org/2026/08/18/r...