2.9 KiB
Extension served via URLs
When performing INSTALL name, if the file is not present locally or bundled via static linking, it will be downloaded from the network.
Extensions are served from URLs like: http://extensions.duckdb.org/v0.8.1/windows_arm64/name.duckdb_extension.gz
Unpacking this:
http://extensions.duckdb.org/ The extension registry URL (can have subfolders)
v0.8.1/ The version identifier
osx_arm64/ The platform this extension is compatible with
name The default name of a given extension
.duckdb_extension Fixed file identifier
.gz Extension served as gzipped file
Extension registry defaults to duckdb's one, but can be set via SET custom_extension_repository="http://some.url.org/subfolder1/subfolder2/".
Local extensions
INSTALL name will download, un-zip and save the extension locally at a path like ~/.duckdb/extensions/v0.8.1/osx_arm64/name.duckdb_extension.
~/.duckdb/ The local configuration folder
extensions/ Fixed subfolder dedicated to extensions
v0.8.1/ The version identifier
osx_arm64/ The platform this extension is compatible with
name The default name of a given extension
.duckdb_extension Fixed file identifier
Configuration folder defaults to be placed in home directory, but can be overwritten via SET home_directory='/some/folder'.
WebAssembly loadable extensions (in flux)
https://extensions.duckdb.org/ The extension registry URL (can have subfolders)
wasm/ wasm-subfolder, required
v1.27.0/ The DuckDB-Wasm version identifier
webassembly_eh/ The platform/feature-set this extension is compatible with
name The default name of a given extension
.duckdb_extension Fixed file identifier
DuckDB-Wasm extensions are are downloaded by the browsers WITHOUT appening .gz, since decompression status is agreed using headers such as Accept-Encoding: * and Content-Encoding: br.
Version identifier
Either the git tag (v0.8.0, v0.8.1, ...) or the git hash of a given duckdb version.
It's chosen at compile time and baked in DuckDB. A given duckdb executable or library is tied to a single version identifier.
Plaform
Fixed at compile time via platform detection and baked in DuckDB.
Extension name
Extension names should start with a letter, use only ascii lower case letters, numbers, dots ('.') or underscores ('_'), and have reasonable length (< 64 characters).