DeepSeek总结的 DuckDB 1.5.3:并非普通的补丁版本

来源:https://duckdb.org/2026/05/20/announcing-duckdb-153

DuckDB 1.5.3:并非普通的补丁版本

作者: DuckDB 团队
日期: 2026-05-20
阅读时间: 4 分钟

摘要: 我们发布了 DuckDB 版本 v1.5.3。尽管这是一个"补丁版本",但它通过其扩展带来了大量功能,首先是 Quack(现已作为核心扩展提供)、DuckLake 中对 Quack 的支持,以及 Iceberg、AWS 和 HTTPS 的若干新功能。

在这篇博文中,我们重点介绍了 DuckDB v1.5.3 中发布的一些重要特性,这是 DuckDB v1.5 系列中的第三个补丁版本。你可以在 GitHub 上找到完整的发布说明。

要安装新版本,请访问安装页面。

新特性

Quack 作为核心扩展

5 月 12 日,我们介绍了 Quack,这是我们新的远程协议,它将 DuckDB 转变为客户端-服务器数据库。如果你是 Quack 的新手,不知道从哪里开始,请查看以下资源:

  • 有关高级概述,请参阅 Quack 解释页面。
  • 有关 Quack 背后的原理和历史,以及协议及其特性的介绍,请参阅公告博文。
  • 有关参考手册和设置指南,请查看 Quack 文档。

从 DuckDB v1.5.3 开始,我们将 Quack 作为核心扩展发布。这意味着你现在可以从任何运行 DuckDB 的客户端立即开始使用 Quack:它将在首次使用时透明地自动安装和加载。

sql 复制代码
-- DuckDB 服务器
CALL quack_serve(
    'quack:localhost',
    token = 'super_secret'
);

CREATE TABLE hello AS
    FROM VALUES ('world') v(s);
text 复制代码
quack:
sql 复制代码
-- DuckDB 客户端
CREATE SECRET (
    TYPE quack,
    TOKEN 'super_secret'
);

ATTACH 'quack:localhost' AS remote;
FROM remote.hello;

请注意,Quack 仍处于测试阶段,协议、函数名称等可能会发生破坏性更改。我们计划在 2026 年秋季与 DuckDB v2.0 一起发布 Quack 的生产就绪版本。

带有 Quack 的 DuckLake

DuckLake 现在支持将带有 Quack 的 DuckDB 作为其目录数据库 (ducklake#1151)。让实例自己说话吧!

sql 复制代码
-- DuckDB 服务器
CALL quack_serve(
    'quack:localhost',
    token => 'oogieboogie'
);
text 复制代码
quack:
sql 复制代码
-- DuckDB 客户端
INSTALL ducklake;

CREATE SECRET (
    TYPE quack, TOKEN 'oogieboogie'
);
ATTACH 'ducklake:quack:localhost'
    AS lake (DATA_PATH 'data');
USE lake;

CREATE TABLE pond (
    id INT,
    species VARCHAR,
    weight DOUBLE
);
INSERT INTO pond VALUES
    (1, 'mallard', 1.2),
    (2, 'pintail', 0.9);
INSERT INTO pond VALUES
    (3, 'wood duck', 0.7);
SELECT * FROM pond ORDER BY id;

AWS 扩展特性

AWS 扩展现在支持用于服务账户 IAM 角色(IRSA)的 web_identity 链类型。这是通过社区成员 Marcel Steinbach (@mst) 的贡献实现的。

AWS 扩展现在还支持对运行在 RDS/Aurora 上的托管 PostgreSQL 数据库进行 IAM 身份验证。有关更多详细信息,请参阅文档中的 AWS RDS IAM 身份验证部分。

HTTPS 扩展的 HTTP_PROXY 变量

现在设置 HTTP_PROXY 环境变量也会设置 http_proxy DuckDB 配置选项 (duckdb#22541)。此选项确保扩展安装也能通过代理,这在例如使用防火墙的环境中可能会派上用场。

请注意,自从将 curl 引入 DuckDB 的网络栈以来,curl 会自动使用 HTTP_PROXYHTTPS_PROXY,因此现在当使用默认 curl 后端加载 httpfs 扩展时,DuckDB 也会隐式地处理这些参数。

Iceberg

DuckDB-Iceberg 扩展在 DuckDB v1.5.2 和 v1.5.3 之间发布了多项功能。最值得注意的是:

  • 现在支持对 Iceberg 表进行 MERGE INTO 操作 (iceberg#788)
  • 现在支持在带有截断或桶转换的分区 Iceberg 表上执行 INSERTUPDATE 语句 (iceberg#879)
  • 现在可以使用 ADBC 在 DuckDB-Iceberg 中执行 CTAS 语句 (iceberg#974)
  • 我们添加了 iceberg_schema_propertiesset_iceberg_schema_propertiesremove_iceberg_schema_properties 函数,以允许获取、设置和删除 Iceberg 模式属性 (iceberg#960)
  • 已为 Iceberg 表添加了 ALTER TABLE 支持 (iceberg#932, iceberg#928, iceberg#924, iceberg#912, iceberg#904, iceberg#853, iceberg#985, iceberg#981)
  • 已为 Iceberg 表添加了对 GEOMETRY 类型的支持 (iceberg#968, iceberg#902)

开发与内部

将 jemalloc 作为静态链接库发布

jemalloc 分配器现在作为核心 DuckDB 的一部分 (duckdb#22603),是一个静态第三方库,在 Linux 上默认包含并链接。以前 jemalloc 是一个静态链接的扩展------新的打包方式更清晰,因为其他 DuckDB 扩展可以动态加载。

DISABLE_EXTENSION_LOAD 标志

DISABLE_EXTENSION_LOAD 编译时标志已在 duckdb#22019 中修复。当使用此标志编译 DuckDB 时,将禁用加载扩展。

即将到来

未来几周我们将举办两场活动:

  • DuckCon #7。 6 月 24 日,我们将在阿姆斯特丹美丽的皇家热带学院举办下一次用户会议 DuckCon #7。
  • Ubuntu 峰会演讲。 下周,DuckDB Labs 的 Gábor Szárnyas 将在 Ubuntu 峰会上发表题为"DuckDB:非虚假科学"的演讲。是的,他的演讲将包括新的 Quack 协议。

结论

这篇文章是对 v1.5.3 中变更的简短总结。像往常一样,你可以在 GitHub 上找到完整的发布说明。

相关推荐
这个DBA有点耶2 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶4 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技5 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend5 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence9 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说1 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql