Skip to content
Blog

Extensions

Kùzu has an extension framework designed to extend its capabilities. Our goal is to implement more and more extensions over time, such as supporting new data types, functions and indices, or to better integrate with external systems.

Extensions expose several internal interfaces of Kùzu, for example, the FileSystem, and can have multiple implementations. Extensions are implementations of these interfaces that can be dynamically loaded at runtime.

Official Extensions

The available extensions for each OS are listed here.

Available extensions

The following extensions are implemented, with more to come:

Extension NameDescription
httpfsRead and write files over HTTP(s) protocol. Also used for attaching to a remote Kùzu database.
duckdbScan data from an attached DuckDB database
postgresScan data from an attached PostgreSQL database
sqliteScan data from an attached SQLite database
jsonScan and manipulate JSON data
deltaScan data from a delta table
icebergScan iceberg data

Using Extensions in Kùzu

This section describes how to use officially supported extensions in Kùzu.

Installing an official extension

Kùzu requires the user to install the extension before loading and using it. Official extensions can be simply installed by running the install command:

INSTALL <extension_name>

Where extension_name is the name of the extension to be installed.

Loading an official extension

After installation, a load command is required to ask Kùzu to dynamically load the shared library. Extensions installed using the INSTALL command can be loaded directly as follows:

LOAD EXTENSION <extension_name>