DuckDB 2.0 LTS añade modo servidor, disparadores y VARIANT
DuckDB 2.0.0, una versión de soporte a largo plazo publicada el 21 de octubre, añade un modo servidor, disparadores y VARIANT. Las versiones anteriores a la 2.0 no pueden leer sus archivos.
4 min de lectura

En cifras
- commits since DuckDB 1.5, per the DuckDB team
- ~20,000
- earliest end of support for DuckDB 2.0
- Oct 2027
- extended end of support for DuckDB 1.5
- March 2027
DuckDB publicó la versión 2.0.0 el 21 de octubre de 2026. Es una versión de soporte a largo plazo (LTS) que el proyecto mantendrá al menos hasta octubre de 2027. Añade un modo servidor integrado, disparadores (triggers) SQL y un nuevo parser. También introduce un cambio sin vuelta atrás: ninguna versión anterior puede abrir los archivos de base de datos escritos por la 2.0, así que las actualizaciones necesitan un plan.
DuckDB es una base de datos SQL de código abierto para análisis. Como SQLite, se ejecuta dentro de tu programa en lugar de como un servidor aparte. A diferencia de SQLite, está pensada para grandes consultas analíticas sobre tablas grandes y archivos como Parquet y CSV.
Qué añade DuckDB 2.0
El anuncio de DuckDB califica la 2.0 como la mayor versión de funcionalidades del equipo hasta ahora, construida a partir de cerca de 20.000 commits desde la versión 1.5. "DuckDB 2.0 es, ante todo, una versión de funcionalidades", escribe el equipo de DuckDB. El nombre en clave de la versión es "Cinnamon Teal", por la especie de pato Spatula cyanoptera. La versión en GitHub usa el nombre "Cyanoptera".
| Función | Qué hace |
|---|---|
| Modo servidor Quack | Ejecuta DuckDB como un servidor al que se conectan otros clientes |
| Disparadores | CREATE TRIGGER ejecuta SQL automáticamente, antes o después de un cambio en una tabla |
| Tipo VARIANT | Almacena datos semiestructurados, como JSON, y separa su estructura común para lograr mejor compresión y velocidad |
| E/S asíncrona | Lee archivos Parquet y CSV mientras se ejecutan las consultas, con varias peticiones en curso, sobre todo para acelerar el almacenamiento en la nube como Amazon S3 |
| Nuevo parser SQL | Un parser basado en PEG es ahora el predeterminado; las extensiones pueden añadir su propia sintaxis SQL y los errores muestran dónde está el problema |
| Zonas horarias nativas | Las zonas horarias, los calendarios y las intercalaciones (collations) ya no necesitan la biblioteca ICU |
Un disparador es una regla guardada en la base de datos: cuando cambia una fila, ejecuta también este SQL. DuckDB 2.0 admite disparadores BEFORE y AFTER, a nivel de fila o de sentencia. Algunas combinaciones aún no se admiten, como un disparador BEFORE ... FOR EACH ROW sobre UPDATE.
Quack convierte DuckDB en un servidor
Hasta ahora, DuckDB atendía a un solo programa a la vez. Con Quack, CALL quack_serve(...) inicia un servidor y un cliente se conecta con ATTACH 'quack:...'. Una nueva sentencia CONNECT cambia toda una sesión a una base de datos remota. La herramienta de línea de comandos gana las opciones correspondientes -serve y -connect.
Por defecto, el servidor solo escucha en la máquina local. Para el acceso remoto, el equipo de DuckDB recomienda colocarlo detrás de un proxy inverso que gestione el cifrado TLS. InfoWorld informó en agosto de que Quack también facilita consultar bases de datos PostgreSQL y MySQL de forma remota.
Cambios incompatibles que revisar antes de actualizar
Según el anuncio de la versión y las notas de la versión en GitHub, estos cambios pueden romper código o compilaciones existentes:
- Los archivos van en un solo sentido. DuckDB 2.0 lee y escribe los archivos de base de datos existentes. "Las versiones de DuckDB anteriores a la 2.0 no pueden leer archivos de base de datos creados por DuckDB 2.0", advierte el equipo.
- Nuevo parser por defecto.
SET enable_legacy_parser = true;recupera el antiguo. - Las lambdas de flecha simple están desactivadas. Una sintaxis como
x -> x + 1queda desactivada.SET lambda_syntax = 'enable_single_arrow';la vuelve a activar hasta que la versión 2.1 la elimine. - La división entera entre cero ahora genera un error en lugar de devolver NULL.
- Las compilaciones requieren C++17, frente a C++11 antes, y las compilaciones de release usan ahora el compilador Clang. Las compilaciones por amalgamación quedan obsoletas.
- Los Mac con Intel se retiran de forma gradual. Las extensiones de la comunidad ya no se compilan para macOS en x86_64, y DuckDB 2.1 deja de darles soporte.
Las fuentes discrepan en un detalle. El adelanto de InfoWorld describía una API de C estable para extensiones. El anuncio de la versión dice que la renovada C API v2 "aún no está marcada como estable", porque el equipo quiere probarla primero en uso real.
Periodos de soporte
| Versión | Soporte hasta |
|---|---|
| DuckDB 2.0 (LTS) | Al menos octubre de 2027 |
| DuckDB 1.5 | Marzo de 2027 (ampliado) |
| DuckDB 1.4 | Finales de noviembre de 2026 |
Qué significa para los desarrolladores
Trátalo como una migración planificada, no como una actualización rutinaria.
- Copia tus archivos de base de datos antes de abrirlos por primera vez. Una vez que DuckDB 2.0 escribe en un archivo, una herramienta más antigua o un compañero que siga en la 1.5 ya no puede leerlo. Actualiza a la vez todo lo que lea un archivo compartido.
- Prueba con una copia de producción. El equipo de DuckDB recomienda empezar por un sistema en sombra. Para trabajos críticos, sugiere esperar a la primera versión de parche, prevista para noviembre.
- Revisa tu cliente. La herramienta de línea de comandos y el cliente de Python ya están listos. Los clientes de Go, R y Java, y algunas extensiones, "pueden tardar unos días", dice el equipo.
- Busca dos patrones en tu SQL. Localiza las lambdas de flecha simple y cualquier división entera que pueda acabar dividiendo entre cero. Ambas se comportan ahora de otra manera.
- No expongas directamente un servidor Quack. Mantenlo en localhost o pon delante un proxy inverso con TLS, como aconseja el equipo.
- Los equipos en la 1.4 deberían moverse primero. Su soporte termina a finales de noviembre de 2026, así que actualiza a la 2.0, o a la 1.5 para dar un paso más pequeño.
Fuentes
- Announcing DuckDB 2.0.0 - DuckDB
- DuckDB v2.0.0 release notes - GitHub
- DuckDB 2.0 coming this fall with client-server mode - InfoWorld
Artículos relacionados

TorchTPU: Google libera como código abierto un PyTorch nativo para TPU
TorchTPU ejecuta PyTorch de forma nativa en las TPU de Google y superó la prueba con el 98 % de los 4.917 modelos de Hugging Face probados. PyTorch/XLA queda obsoleto y se archivará el 15 de noviembre.
PyTorch 2.15 acelera hasta 6,5 veces la decodificación MoE en Mac
PyTorch 2.15 añade tensores FP8 en las GPU de Apple y nuevos kernels de Metal. La decodificación de Qwen3.6-35B-A3B en un M3 Ultra salta de 9,4 a 61,3 tokens por segundo.

Tools This Week: 10 de octubre de 2026 - Python 3.15, Mold 3.0
Siete herramientas para desarrolladores esta semana, encabezadas por Python 3.15.0 y la reescritura en Rust del enlazador Mold, con lo que cambia cada una y lo que cuesta.