- Installation
- Guides
- Overview
- Data Import & Export
- CSV Import
- CSV Export
- Parquet Import
- Parquet Export
- Querying Parquet Files
- HTTP Parquet Import
- S3 Parquet Import
- S3 Parquet Export
- S3 Iceberg Import
- JSON Import
- JSON Export
- Excel Import
- Excel Export
- SQLite Import
- PostgreSQL Import
- Meta Queries
- ODBC
- Python
- Installation
- Execution SQL
- Jupyter Notebooks
- SQL on Pandas
- Import from Pandas
- Export to Pandas
- SQL on Arrow
- Import from Arrow
- Export to Arrow
- Relational API on Pandas
- Multiple Python Threads
- Integration with Ibis
- Integration with Polars
- Using fsspec Filesystems
- SQL Features
- SQL Editors
- Data Viewers
- Documentation
- Connect
- Data Import
- Overview
- CSV Files
- JSON Files
- Multiple Files
- Parquet Files
- Partitioning
- Appender
- INSERT Statements
- Client APIs
- Overview
- C
- Overview
- Startup
- Configuration
- Query
- Data Chunks
- Values
- Types
- Prepared Statements
- Appender
- Table Functions
- Replacement Scans
- API Reference
- C++
- CLI
- Go
- Java
- Julia
- Node.js
- Python
- Overview
- Data Ingestion
- Result Conversion
- DB API
- Relational API
- Function API
- Types API
- Expression API
- Spark API
- API Reference
- Known Python Issues
- R
- Rust
- Swift
- Wasm
- ADBC
- ODBC
- SQL
- Introduction
- Statements
- Overview
- ALTER TABLE
- ALTER VIEW
- ATTACH/DETACH
- CALL
- CHECKPOINT
- COPY
- CREATE INDEX
- CREATE MACRO
- CREATE SCHEMA
- CREATE SEQUENCE
- CREATE TABLE
- CREATE VIEW
- CREATE TYPE
- DELETE
- DROP
- EXPORT/IMPORT DATABASE
- INSERT
- PIVOT
- Profiling
- SELECT
- SET/RESET
- Transaction Management
- UNPIVOT
- UPDATE
- USE
- VACUUM
- Query Syntax
- SELECT
- FROM & JOIN
- WHERE
- GROUP BY
- GROUPING SETS
- HAVING
- ORDER BY
- LIMIT
- SAMPLE
- Unnesting
- WITH
- WINDOW
- QUALIFY
- VALUES
- FILTER
- Set Operations
- Prepared Statements
- Data Types
- Overview
- Array
- Bitstring
- Blob
- Boolean
- Date
- Enum
- Interval
- List
- Map
- NULL Values
- Numeric
- Struct
- Text
- Time
- Timestamp
- Time Zones
- Union
- Expressions
- Overview
- CASE statement
- Casting
- Collations
- Comparisons
- IN Operator
- Logical Operators
- Star Expression
- Subqueries
- Functions
- Overview
- Bitstring Functions
- Blob Functions
- Date Format Functions
- Date Functions
- Date Part Functions
- Enum Functions
- Interval Functions
- Nested Functions
- Numeric Functions
- Pattern Matching
- Text Functions
- Time Functions
- Timestamp Functions
- Timestamp with Time Zone Functions
- Utility Functions
- Aggregate Functions
- Configuration
- Constraints
- Indexes
- Information Schema
- Metadata Functions
- Pragmas
- Rules for Case Sensitivity
- Samples
- Window Functions
- Extensions
- Development
- DuckDB Repositories
- Testing
- Internals Overview
- Storage Versions & Format
- Execution Format
- Profiling
- Release Dates
- Building
- Benchmark Suite
- Sitemap
- Why DuckDB
- Media
- FAQ
- Code of Conduct
- Live Demo
List of Official Extensions
Extension Name | Description | Aliases |
---|---|---|
arrow GitHub | A zero-copy data integration between Apache Arrow and DuckDB | |
autocomplete | Adds support for autocomplete in the shell | |
aws GitHub | Provides features that depend on the AWS SDK | |
azure GitHub | Adds a filesystem abstraction for Azure blob storage to DuckDB | |
excel | Adds support for Excel-like format strings | |
fts | Adds support for Full-Text Search Indexes | |
httpfs | Adds support for reading and writing files over a HTTP(S) connection | http, https, s3 |
iceberg GitHub | Adds support for Apache Iceberg | |
icu | Adds support for time zones and collations using the ICU library | |
inet | Adds support for IP-related data types and functions | |
jemalloc | Overwrites system allocator with jemalloc | |
json | Adds support for JSON operations | |
mysql GitHub | Adds support for reading from and writing to a MySQL database | |
parquet | Adds support for reading and writing Parquet files | |
postgres_scanner GitHub | Adds support for reading from a Postgres database | postgres |
spatial GitHub | Geospatial extension that adds support for working with spatial data and functions | |
sqlite_scanner GitHub | Adds support for reading SQLite database files | sqlite, sqlite3 |
substrait GitHub | Adds support for the Substrait integration | |
tpcds | Adds TPC-DS data generation and query support | |
tpch | Adds TPC-H data generation and query support |
Default Extensions
Different DuckDB clients ship a different set of extensions. We summarize the main distributions in the table below.
Extension Name | CLI (duckdb.org) | CLI (Homebrew) | Python | R | Java | Julia | Node.JS |
---|---|---|---|---|---|---|---|
autocomplete | yes | yes | |||||
excel | yes | ||||||
fts | yes | yes | |||||
httpfs | yes | ||||||
icu | yes | yes | yes | yes | yes | yes | |
json | yes | yes | yes | yes | yes | yes | |
parquet | yes | yes | yes | yes | yes | yes | yes |
tpcds | yes | ||||||
tpch | yes | yes |
The jemalloc extension’s availability is based on the operating system. It is a built-in extension on Linux and macOS versions, while on Windows, it is not available.
Search Shortcut cmd + k | ctrl + k