21 октября вышла DuckDB 2.0.0 LTS «Cinnamon Teal» — самый большой релиз проекта. Это LTS-версия с поддержкой минимум до октября 2027 года.
Главное
- Сервер через Quack. Расширение
quackпозволяет любому процессу DuckDB отдавать свои базы:quack_serve()на сервере,ATTACH 'quack:...'на клиенте. Новый операторCONNECTподключает удалённую базу и переключается на неё, работает и с PostgreSQL/MySQL. По умолчанию сервер слушает только localhost — наружу рекомендуют выставлять через TLS-прокси. - Асинхронный I/O для Parquet, CSV и родного формата — заметный выигрыш при чтении из S3 и другого объектного хранилища.
- Тип
VARIANTхранит полуструктурированные данные вроде JSON в колоночном виде и автоматически «нарезает» общую структуру для сжатия и скорости. - Режим для агентов. CLI распознаёт, что его запускает AI-агент, и выдаёт компактные Markdown-таблицы, ошибки в JSON и оценку стоимости долгих запросов. На TPC-H объём вывода, который читает модель, сократился на 59%.
- Триггеры
BEFORE/AFTER, построчные и на оператор, с transition-таблицами. - PEG-парсер стал парсером по умолчанию: расширения могут добавлять собственный синтаксис SQL.
Совместимость
Файлы, созданные 2.0, не открываются версиями до 2.0. Однострочные лямбды x -> x + 1 по умолчанию отключены в пользу lambda x: x + 1, для сборки нужен C++17, поддержку macOS x86_64 уберут в 2.1. Ветка 1.4 поддерживается до 17 ноября 2026 года, 1.5 — до марта 2027-го.
DuckDB 2.0.0 LTS “Cinnamon Teal”, the project’s largest release, shipped on October 21. It is an LTS version supported until at least October 2027.
Highlights
- A server via Quack. The
quackextension lets any DuckDB process serve its databases:quack_serve()on the server,ATTACH 'quack:...'on the client. A newCONNECTstatement attaches a remote database and switches to it, and also works with PostgreSQL/MySQL. By default the server listens on localhost only — remote access should go through a TLS proxy. - Async I/O for Parquet, CSV and the native format — a noticeable win when reading from S3 and other object storage.
- A
VARIANTtype stores semi-structured data like JSON in columnar form and automatically shreds common structure for compression and speed. - Agent mode. The CLI detects when an AI agent runs it and prints compact Markdown tables, JSON errors and cost estimates for long queries. On TPC-H it cut the output the model has to read by 59%.
- Triggers —
BEFORE/AFTER, row-level and statement-level, with transition tables. - The PEG parser is now the default, so extensions can add their own SQL syntax.
Compatibility
Files created by 2.0 can’t be opened by pre-2.0 versions. Single-arrow lambdas x -> x + 1 are disabled by default in favor of lambda x: x + 1, building requires C++17, and macOS x86_64 support goes away in 2.1. The 1.4 line is supported until November 17, 2026, and 1.5 until March 2027.