Search Shortcut cmd + k | ctrl + k
Community Extensions

Welcome to the documentation for the DuckDB Community Extensions.

This website contains all documentation specific to community-contributed extensions for DuckDB.

DuckDB is an analytical in-process SQL database management system, documented at the DuckDB documentation website.

Community means that the extensions are created by external contributors and not maintained by DuckLabs.

Extensions for DuckDB are the preferred way to package additional functionality for DuckDB. Generic extensions are documented in the core DuckDB documentation.

How to Use a Community Extension

To install and load a community extension, for example the waddle demo extension, simply run:

INSTALL waddle FROM community;
LOAD waddle;

The waddle extension is now loaded and ready to use:

SELECT waddle('world');

What Are Community Extensions?

Community Extensions are DuckDB extensions that are not maintained by the DuckDB team.

They are different from the Core Extensions, which are maintained by the DuckDB team, or from unsigned extensions, that are extensions that have an empty or invalid key.

Community Extensions are distributed via the Community Extension endpoint at http(s)://community-extensions.duckdb.org, and on INSTALL or UPDATE EXTENSIONS are retrieved from there.

Community Extension submissions and build process happen via the Community Extension repo.

Check the Development page on how to contribute an extension.

DuckDB Community extensions are conceptually similar to a package manager such as Homebrew, where code will reside in your own repository, but build and distribution is centralized.

Security Considerations for Using Community Extensions

Warning Community extensions are contributed by third parties. They are not written, audited, or maintained by members of DuckLabs or the DuckDB Foundation, and they run with the same privileges as DuckDB itself, including access to your data, filesystem, and network. Signing proves only that an extension was built by the Community Extension CI from the published source. It does not certify that the code is safe or free of bugs. Install and load community extensions only if you trust their author and source.

DuckDB Community Extensions are signed, so that on LOAD a check is performed to prove a given extension has been built by the Community Extension CI.

For more information on extensions and how to use them, check the “Securing Extensions” and “Installing Extensions” pages.

In particular, if you want to forbid LOAD of Community Extensions, run:

SET allow_community_extensions = false;

This will disable any subsequent load of extensions signed with the Community Extension key and lock the allow_community_extensions configuration.