What is DuckDB?
DuckDB is a fast, in-process analytical SQL database — think "SQLite for analytics". It runs inside the calling process with no server to set up, queries CSV, Parquet and JSON files directly (SELECT * FROM 'data.parquet'), and speaks a rich, friendly SQL dialect with excellent performance on analytical workloads. This package ships the official duckdb CLI.
duckdb. For the same reason, one database file belongs to one process at a time.
apt upgrade keeps you on the latest version.
⚡ Key Features of DuckDB
📊 Built for Analytics
A columnar, vectorized engine crunches millions of rows per second — aggregations, joins and window functions at OLAP speed.
📁 Query Files Directly
SELECT * FROM 'events.parquet' — CSV, Parquet and JSON are queryable (and writable) without any import step.
🪶 Zero Setup
In-process like SQLite: a single binary, a single optional database file, nothing to administer.
🔌 Runtime Extensions
INSTALL httpfs; pulls signed extensions from the official repository — S3/HTTP access, spatial, full-text search and more.
🗣️ Friendly SQL
SELECT * EXCLUDE, GROUP BY ALL, list/struct types, PIVOT — a modern dialect that removes boilerplate from everyday queries.
🤝 Plays Well with Others
Reads SQLite, PostgreSQL and MySQL through extensions; exports Parquet/CSV/JSON — ideal glue for data pipelines.
🏆 Why install it with apt?
- Extensions just work: this package uses upstream's official glibc build, so
INSTALL httpfs;matches the officiallinux_amd64/linux_arm64extension repository - Every release, including stable: the official archives carry DuckDB only in testing/unstable — here Bookworm and Trixie get the same current version
- No curl-to-bin: a GPG-signed repository instead of downloading binaries into
/usr/local/binby hand - Automatic updates: new upstream releases arrive with your normal
apt upgrade - Multi-arch: amd64 and arm64 — the architectures upstream publishes Linux CLI binaries for
📦 Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updateStep 2: Install DuckDB
sudo apt install -y duckdbapt install -y duckdb🚀 First run
duckdb # in-memory interactive shell
duckdb mydb.duckdb # persistent database file
duckdb -c "SELECT * FROM 'events.parquet' LIMIT 10;" # query files directly
duckdb -c "INSTALL httpfs; LOAD httpfs;" # extensions from the official repo📦 Package Build Repository
The Debian packages are automatically built and maintained in this GitHub repository:
- 📂 duckdb-debian - Latest release builds
🔗 Related Packages
Also available from deb.griffo.io:
- garage - S3-compatible object storage — query it from DuckDB via httpfs
- tigerbeetle - A distributed financial transactions database
- yq - YAML/JSON/CSV wrangling on the command line
💝 Support This Project
If this repository saves you time and effort, please consider supporting it!