⌘+k ctrl+k
1.4 (LTS)
搜索快捷键 cmd + k | ctrl + k
扩展分发

平台

扩展二进制文件针对多个平台进行分发(见下文)。对于某些扩展包不可用的平台,用户可以从源代码构建它们,并手动安装生成的二进制文件

所有官方扩展都针对以下平台进行分发。

平台名称 操作系统 架构 CPU 类型
linux_amd64 Linux x86_64 (AMD64)  
linux_arm64 Linux AArch64 (ARM64) AWS Graviton, Snapdragon 等
osx_amd64 macOS x86_64 (AMD64) Intel
osx_arm64 macOS AArch64 (ARM64) Apple Silicon M1, M2 等
windows_amd64 Windows x86_64 (AMD64) Intel, AMD 等
windows_arm64 Windows AArch64 (ARM64) 搭载高通 CPU 的 Copilot+ PC

部分扩展针对以下平台进行分发

对于上述列表之外的平台,我们不提供官方扩展分发(例如 linux_arm64_android)。

扩展签名

签名扩展

扩展可以使用加密密钥进行签名。默认情况下,DuckDB 会使用其内置的公钥在加载前验证扩展的完整性。所有核心扩展和社区扩展均由 DuckDB 团队签名。

对扩展进行签名简化了分发流程,因此它们可以通过 HTTP 分发而无需 HTTPS(后者本身通过 httpfs 扩展支持)。

未签名扩展

警告:仅加载来自您信任来源的未签名扩展。避免通过 HTTP 加载未签名扩展。请参阅 Securing DuckDB 页面,了解有关如何以安全方式配置 DuckDB 的指南。

如果您希望加载自己的扩展或来自第三方的扩展,则需要启用 allow_unsigned_extensions 标志。要使用 CLI 客户端加载未签名扩展,请在启动时传递 -unsigned 标志。

duckdb -unsigned

现在可以加载任何扩展,无论是否签名。

LOAD './some/local/ext.duckdb_extension';

对于客户端 API,需要设置 allow_unsigned_extensions 数据库配置选项,请参阅相应的 客户端 API 文档。例如,对于 Python 客户端,请参阅 Python API 文档中的“加载和安装扩展”章节

二进制兼容性

为了避免二进制兼容性问题,DuckDB 分发的二进制扩展与特定的 DuckDB 版本和平台绑定。这意味着 DuckDB 可以自动检测它与可加载扩展之间的二进制兼容性。当尝试加载为不同版本或平台编译的扩展时,DuckDB 会抛出错误并拒绝加载该扩展。

创建自定义仓库

您可以创建自定义的 DuckDB 扩展仓库。DuckDB 仓库是一个基于 HTTP、HTTPS、S3 或本地文件的目录,它以特定的结构提供扩展文件。该结构在 “直接从 S3 下载扩展”章节中描述,对于本地路径和远程服务器,其结构是相同的,例如:

base_repository_path_or_url
└── v1.0.0
    └── osx_arm64
        ├── autocomplete.duckdb_extension
        ├── httpfs.duckdb_extension
        ├── icu.duckdb_extension
        ├── inet.duckdb_extension
        ├── json.duckdb_extension
        ├── parquet.duckdb_extension
        ├── tpcds.duckdb_extension
        ├── tpcds.duckdb_extension
        └── tpch.duckdb_extension

有关设置仓库所需的所有代码和脚本,请参阅 extension-template 仓库

从自定义仓库安装扩展时,DuckDB 将同时搜索 gzipped 和非 gzipped 版本。例如:

INSTALL icu FROM 'custom_repository';

执行此语句将首先在仓库的目录结构中查找 icu.duckdb_extension.gz,然后查找 icu.duckdb_extension

如果自定义仓库通过 HTTPS 或 S3 提供服务,则需要 httpfs 扩展。当尝试通过 HTTPS 或 S3 进行安装时,DuckDB 将尝试自动加载 httpfs 扩展。

© 2025 DuckDB 基金会,阿姆斯特丹,荷兰
行为准则 商标使用指南