DuckDB

A DuckDB client that belongs on a Mac.

DuckDB is built in. Open a DuckDB file, or point the app at a CSV, TSV, Parquet or JSON file — or a folder of them — and query it with SQL. Files on your own Mac are local, so it is free.

Free for the databases on your Mac. Pricing

DuckDB

What DuckDB gets.

The kinds of object that exist on an engine are the kinds the app shows. This is DuckDB's row of the features table, and what stands behind it.

EngineEditable gridDesignersUsers & RolesDiagram
DuckDB and CSV filestables, sequences

Query a file as a table

Point the Data File tile at a CSV, TSV, Parquet or JSON file, or at a folder of them, and query it with SQL. The file is read again on every query, so an edit to it shows up on the next run.

Guide: opening files

A file is a connection

The app reads the first bytes before it trusts the name, so a DuckDB file called backup.db opens as DuckDB. Opening the same file again selects its connection rather than making a second one.

Guide: opening files

Tables and sequences, designed

The table designer retypes a column with ALTER COLUMN … TYPE … USING, so values are cast, and its script runs in a transaction. DuckDB cannot add or drop foreign keys, and the designer says so.

Guide: the table designer

Copy tables in from a server

Drag a table from another connection onto a DuckDB database and the app writes the CREATE in DuckDB's dialect and copies the rows, listing every column type that had to change.

Guide: copy objects between engines
Connect

Connect to DuckDB.

Drop a DuckDB file on the window or on the Dock icon, double-click it in Finder, or use File ▸ Open… (⌘O). For a CSV, TSV, Parquet or JSON file, click Add Connection under the sidebar, pick the Data File tile and click Choose… to pick it. The Connection String field reads duckdb:// addresses and a bare path.

Connects to
A DuckDB file, or a Data File: a CSV, TSV, Parquet or JSON file, or a folder of them.
Files
DuckDB 1.1.3 is built in. It opens files written by DuckDB 0.9, 0.10, 1.0 and 1.1; a file from a newer release may not open.
Console
None. A DuckDB file allows one process at a time, and the app is it.
Notes
A data file is opened as a view through an in-memory DuckDB and read again on every query, so an edit to the file shows up on the next run.

Guide: DuckDB in the docs Guide: your first connection

Every engine

One app for the rest of your databases, too.

Every feature is built against one driver contract, so the grid, the designers and the assistant work the same whichever server you open next.

Try it on your own database.

Free for the databases on your Mac, and never asking you to sign in.

Download DBClient

$brew install --cask az-code-lab/taps/dbclient