数据库_DuckDB-插件安装和使用-扩展-extension

DuckDB

2024年06月03日, DuckDB 的版本1.0.0 正式发布
  01.向后兼容: Backward Compatibility 这个功能确实很有存在的必要,毕竟要使用新的版本就要手动升级,着实有些耗费时间
  02.duckdb的插件机制: 插件机制是个好东西,在系统在第一天设计的时候就做好抽象,怎么可以更好的把其他人的功能一起协作起来
     易扩展--易沟通
  
  03.使用 DuckDB 作为数据云的浏览器,关系数据集始终只需一个超链接即可
     开放数据和协同工作
###参考 
   https://duckdb.org/2024/06/03/announcing-duckdb-100.html

duckbd 插件安装

 不同的仓库 repositories
    the default core repository which points to http://extensions.duckdb.org
	the core_nightly repository

源码

 01.原生插件   in-tree extensions
     https://github.com/duckdb/duckdb/tree/main/extension 
 02.Out-of-Tree Extension
    注册out of tree的扩展
 03.其他插件
     -unsigned flag to allow loading unsigned extensions
   
源码:ExtensionUtil 在这里面扮演了很重要的角色。ExtensionUtil 支持注册普通函数、聚合函数、Table 函数
    RegisterSubSystem-Duckdb 对文件系统也做了抽象,方便插件化。filesystem 支持、文件格式支持
	系统函数 PragmaFunction

每日构建(Nightly Build,也叫Daily Build), 是将一个软件项目的所有最新代码取出,从头开始编译,链接,运行测试软件包对代码进行单元测试	
	Nightly版本  开发版 Nightly Build 
	nightly版本库  bleeding edge 最前沿

动态加载

 dynamically loading extensions		

在线安装

 INSTALL extension_name; 或者 FORCE INSTALL extension_name;
 INSTALL spatial;
 或者 
 FORCE INSTALL spatial FROM core_nightly;
 
 官方插件 official extensions
    自动加载和手动加载 
	Autoloadable
	默认加载

离线安装插件 install the resulting binaries manually.

 https://duckdb.org/docs/extensions/working_with_extensions.html#installing-extensions-from-an-explicit-path
   DuckDB扩展是使用gzip格式压缩的,如果你想手动下载它们,你需要先解压缩它们,然后才能加载它们

 安装格式 1. .duckdb_extension file  例如: spatial.duckdb_extension
       .duckdb_extension.gz 这格式需要解压-gzip格式压缩,里面是.duckdb_extension 文件
	
      downloaded the extension for your platform :
	     linux_amd64_gcc4	Linux AMD64 (Python packages, CLI, etc.)

       https://extensions.duckdb.org/v0.9.2/windows_amd64/httpfs.duckdb_extension.gz
	   
	   https://extensions.duckdb.org/v0.9.2/windows_amd64/spatial.duckdb_extension.gz
duckdb -unsigned -s "LOAD './zig-out/lib/quack.duckdb_extension';"

源码构建时安装

  the extensions
 CMake (3.20) and a C++11 compatible compiler. 

加载

安装后可以直接加载
不安装需要给出加载的地址: Loading Extension from a Path	

查看插件

 SELECT extension_name, installed, description FROM duckdb_extensions();

参考

  https://duckdb.org/docs/extensions/official_extensions
  https://github.com/duckdb/duckdb_spatial
  https://github.com/duckdb/duckdb_spatial/releases
posted @ 2024-06-05 15:43  辰令  阅读(103)  评论(0编辑  收藏  举报