DuckDB 2.0 LTS adiciona modo servidor, gatilhos e VARIANT
O DuckDB 2.0.0, uma versão de suporte de longo prazo lançada em 21 de outubro, adiciona modo servidor, gatilhos e VARIANT. Versões anteriores à 2.0 não conseguem ler seus arquivos.
4 min de leitura

Em números
- 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
O DuckDB lançou a versão 2.0.0 em 21 de outubro de 2026. É uma versão de suporte de longo prazo (LTS), que o projeto vai manter até pelo menos outubro de 2027. Ela adiciona um modo servidor embutido, gatilhos (triggers) SQL e um novo parser. Também traz uma mudança sem volta: arquivos de banco de dados gravados pela 2.0 não podem ser abertos por nenhuma versão anterior, então as atualizações precisam de um plano.
O DuckDB é um banco de dados SQL de código aberto para análise de dados. Como o SQLite, ele roda dentro do seu programa, e não como um servidor separado. Diferente do SQLite, ele foi feito para grandes consultas analíticas sobre tabelas grandes e arquivos como Parquet e CSV.
O que o DuckDB 2.0 traz de novo
O anúncio do DuckDB chama a 2.0 de a maior versão de recursos da equipe até agora, construída a partir de quase 20.000 commits desde a versão 1.5. "O DuckDB 2.0 é, acima de tudo, uma versão de recursos", escreve a equipe do DuckDB. O codinome da versão é "Cinnamon Teal", em referência à espécie de pato Spatula cyanoptera. A versão no GitHub usa o nome "Cyanoptera".
| Recurso | O que faz |
|---|---|
| Modo servidor Quack | Roda o DuckDB como um servidor ao qual outros clientes se conectam |
| Gatilhos | CREATE TRIGGER executa SQL automaticamente, antes ou depois de uma alteração em uma tabela |
| Tipo VARIANT | Armazena dados semiestruturados, como JSON, e separa a estrutura comum deles para melhor compressão e velocidade |
| E/S assíncrona | Lê arquivos Parquet e CSV enquanto as consultas rodam, com várias requisições em andamento, principalmente para acelerar armazenamento em nuvem como o Amazon S3 |
| Novo parser SQL | Um parser baseado em PEG agora é o padrão; extensões podem adicionar sua própria sintaxe SQL, e os erros mostram onde está o problema |
| Fusos horários nativos | Fusos horários, calendários e collations não precisam mais da biblioteca ICU |
Um gatilho é uma regra guardada no banco de dados: quando uma linha muda, execute também este SQL. O DuckDB 2.0 suporta gatilhos BEFORE e AFTER, no nível de linha ou de instrução. Algumas combinações ainda não são suportadas, como um gatilho BEFORE ... FOR EACH ROW em UPDATE.
O Quack transforma o DuckDB em servidor
Até agora, o DuckDB atendia a um programa por vez. Com o Quack, CALL quack_serve(...) inicia um servidor, e um cliente se conecta com ATTACH 'quack:...'. Uma nova instrução CONNECT muda uma sessão inteira para um banco de dados remoto. A ferramenta de linha de comando ganha as opções correspondentes -serve e -connect.
Por padrão, o servidor escuta apenas na máquina local. Para acesso remoto, a equipe do DuckDB recomenda colocá-lo atrás de um proxy reverso que cuide da criptografia TLS. A InfoWorld informou em agosto que o Quack também facilita consultar bancos de dados PostgreSQL e MySQL remotamente.
Mudanças incompatíveis para verificar antes de atualizar
Segundo o anúncio da versão e as notas de lançamento no GitHub, estas mudanças podem quebrar código ou builds existentes:
- Os arquivos são de mão única. O DuckDB 2.0 lê e grava arquivos de banco de dados existentes. "Versões do DuckDB anteriores à 2.0 não conseguem ler arquivos de banco de dados criados pelo DuckDB 2.0", alerta a equipe.
- Novo parser por padrão.
SET enable_legacy_parser = true;traz o antigo de volta. - Lambdas de seta simples estão desligadas. Sintaxe como
x -> x + 1está desativada.SET lambda_syntax = 'enable_single_arrow';a reativa até que a versão 2.1 a remova. - A divisão inteira por zero agora gera um erro em vez de retornar NULL.
- Os builds exigem C++17, contra C++11 antes, e os builds de release agora usam o compilador Clang. Builds por amalgamação estão obsoletos.
- Os Macs com Intel estão sendo descontinuados aos poucos. Extensões da comunidade não são mais compiladas para macOS em x86_64, e o DuckDB 2.1 deixa de suportá-los.
As fontes divergem em um detalhe. A prévia da InfoWorld descrevia uma API C estável para extensões. O anúncio da versão diz que a C API v2 reformulada "ainda não está marcada como estável", porque a equipe quer testá-la primeiro na prática.
Períodos de suporte
| Versão | Suporte até |
|---|---|
| DuckDB 2.0 (LTS) | Pelo menos outubro de 2027 |
| DuckDB 1.5 | Março de 2027 (estendido) |
| DuckDB 1.4 | Final de novembro de 2026 |
O que isso significa para desenvolvedores
Trate isso como uma migração planejada, não como uma atualização de rotina.
- Copie seus arquivos de banco de dados antes da primeira abertura. Depois que o DuckDB 2.0 grava em um arquivo, uma ferramenta mais antiga ou um colega na 1.5 não consegue mais lê-lo. Atualize juntos tudo o que lê um arquivo compartilhado.
- Teste em uma cópia da produção. A equipe do DuckDB recomenda primeiro um sistema sombra. Para trabalhos de missão crítica, ela sugere esperar pela primeira versão de correção, prevista para novembro.
- Verifique seu cliente. A ferramenta de linha de comando e o cliente Python já estão prontos. Os clientes Go, R e Java, e algumas extensões, "podem levar alguns dias", diz a equipe.
- Procure dois padrões no seu SQL. Busque lambdas de seta simples e qualquer divisão inteira que possa acabar dividindo por zero. As duas agora se comportam de outro jeito.
- Não exponha um servidor Quack diretamente. Mantenha-o em localhost ou coloque um proxy reverso com TLS na frente, como a equipe recomenda.
- Equipes na 1.4 devem migrar primeiro. O suporte a ela termina no final de novembro de 2026. Atualize para a 2.0, ou para a 1.5 como um passo menor.
Fontes
- Announcing DuckDB 2.0.0 - DuckDB
- DuckDB v2.0.0 release notes - GitHub
- DuckDB 2.0 coming this fall with client-server mode - InfoWorld
Artigos relacionados

TorchTPU: Google abre o código de um PyTorch nativo para TPUs
O TorchTPU roda PyTorch nativamente nas TPUs do Google e passou em 98% dos 4.917 modelos do Hugging Face testados. O PyTorch/XLA foi descontinuado e será arquivado em 15 de novembro.
PyTorch 2.15 acelera em até 6,5 vezes a decodificação MoE em Macs
O PyTorch 2.15 adiciona tensores FP8 nas GPUs da Apple e novos kernels Metal. A decodificação do Qwen3.6-35B-A3B em um M3 Ultra salta de 9,4 para 61,3 tokens por segundo.

Tools This Week: 10 de outubro de 2026 - Python 3.15, Mold 3.0
Sete ferramentas para desenvolvedores nesta semana, lideradas pelo Python 3.15.0 e pela reescrita em Rust do linker Mold, com o que cada uma muda e quanto custa.