DuckDB 2.0 chega com appender para Python, secure views e exportação direta para GeoJSON
Aprofundamento CEVIU
Aprofundamento
O post do blog do DuckDB, publicado em 26 de outubro de 2026, reúne os recursos menores do DuckDB 2.0.0 LTS que ficaram fora do anúncio principal. O appender do Python junta linhas em buffer e grava tudo numa única operação. O bloco with descarrega o buffer ao sair. Para dados que já estão em DataFrame ou tabela Arrow, o INSERT INTO ... SELECT continua mais rápido. O appender serve para linhas geradas pelo código Python na hora.
As secure views resolvem um vazamento conhecido: views comuns expõem informação das tabelas de origem por estatísticas e planos de consulta. Na secure view, stats() devolve só estatísticas sem informação e o EXPLAIN ANALYZE mostra um único nó Secure View. No COPY, entram PARTITION_PATH (expressão sobre as colunas de partição, resultado precisa ser caminho relativo, sem .. e distinto por partição) e ORDER_BY, que ordena dentro de cada partição. Também há FORMAT GEOJSON (FeatureCollection) e GEOJSONL, com opções ID_COLUMN e GEOMETRY_COLUMN.
Outras mudanças: window functions viraram entradas de catálogo, e extensões podem defini-las com a mesma API C++ das nativas. Na CLI, entram .manual, .history e a função shell_history(). O SHOW de tabela, view ou query está depreciado em favor do DESCRIBE.
O que mudou
Em 22 de outubro de 2026, o CEVIU noticiou "DuckDB 2.0 LTS "Cinnamon Teal" chega com triggers SQL, modo de agente de IA e leitura de arquivos mais rápida". Aquela cobertura tratou dos destaques do lançamento. Agora saem os detalhes menores, como appender em Python, secure views e GeoJSON. Em 12 de março de 2026, o CEVIU havia registrado o "Lançamento do DuckDB 1.5.0", com CLI retrabalhada, VARIANT e GEOMETRY como tipo nativo. A saída em GeoJSON e as melhorias de CLI da 2.0 seguem essa linha.
Por que isso importa
Para quem opera pipelines com DuckDB, o appender em Python simplifica a ingestão de linhas geradas em código, sem montar INSERTs gigantes. Para quem expõe dados por views, as secure views reduzem o risco de vazamento por estatísticas e planos. O PARTITION_PATH e o ORDER_BY ajudam a organizar exportações em data lakes.
Linha do tempo
Lançamento do DuckDB 1.5.0, com CLI retrabalhada, VARIANT e GEOMETRY nativo.
DuckDB 2.0 LTS "Cinnamon Teal" chega com triggers SQL, modo de agente de IA e leitura mais rápida.
DuckDB 2.0 ganha destaque por appender Python, secure views e exportação para GeoJSON.
Perguntas frequentes
O appender do Python substitui o INSERT INTO ... SELECT?
Não. Para dados que já estão em DataFrame ou tabela Arrow, o INSERT INTO ... SELECT continua mais rápido. O appender é indicado para linhas que o código Python produz na hora. Ele acumula as linhas e grava em uma única operação.
O que uma secure view esconde?
Ela impede que estatísticas e planos de consulta revelem dados das tabelas subjacentes. A função stats() retorna só estatísticas sem informação, e o EXPLAIN ANALYZE mostra um único nó Secure View. Assim, não dá para reconstruir as linhas que a view filtra.
Como exportar para GeoJSON no DuckDB 2.0?
Use COPY ... (FORMAT GEOJSON) para gerar uma FeatureCollection, ou FORMAT GEOJSONL para features delimitadas por linha. As opções ID_COLUMN e GEOMETRY_COLUMN definem quais colunas viram id e geometria da feature.
O que é o PARTITION_PATH?
É uma opção do COPY que dá controle total sobre o subdiretório de cada partição, usando uma expressão sobre as colunas de partição. O resultado deve ser um caminho relativo sem segmentos .. e distinto para cada partição.
Fontes
- duckdb.orgfonte original
- Categoria
- CEVIU Dados
- Publicado
- 29 de outubro de 2026
- Editoria
- CEVIU Dados

