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 Name | Description |
---|---|
httpfs | Read and write files over HTTP(s) protocol. Also used for attaching to a remote Kùzu database. |
duckdb | Scan data from an attached DuckDB database |
postgres | Scan data from an attached PostgreSQL database |
sqlite | Scan data from an attached SQLite database |
json | Scan and manipulate JSON data |
delta | Scan data from a delta table |
iceberg | Scan 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:
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: