Skip to main content

DuckDB

DuckDB is an embedded analytical database built for OLAP workloads. TablePro opens local DuckDB files and connects to remote DuckDB servers over the Quack protocol. The driver plugin bundles DuckDB 1.5.3 and is a downloadable plugin: TablePro prompts to install it when you pick DuckDB in the connection form.

Connecting to a local DuckDB file

1

Create a new connection

Click New Connection or press Cmd+N, then choose DuckDB.
2

Keep Connection Type set to Local File

Click Browse to select an existing .duckdb file, or enter a path to create a new database.
3

Connect

Click Save & Connect to open the database.
DuckDB connection form with Local File and Remote (Quack) connection types

DuckDB connection form

Connecting to a remote DuckDB server (Quack)

Quack is DuckDB’s client-server protocol. A DuckDB server exposes itself with quack_serve, and TablePro attaches to it as a remote database. Set Connection Type to Remote (Quack, experimental) and fill in: Click Save & Connect. TablePro opens an in-memory DuckDB, registers the token as a secret, and attaches the remote server.
Remote (Quack) is experimental and matches the Quack beta:
  • You can run SQL against the remote, for example SELECT * FROM alias.main.your_table.
  • The sidebar cannot list remote tables yet; the Quack beta cannot enumerate a remote catalog.
  • On macOS the quack extension downloads from the DuckDB extension registry on first use, so the first remote connection needs network access.

Connection URL

See Connection URL Reference for all parameters.

Opening DuckDB files from Finder

Double-click a .duckdb or .ddb file in Finder to open it directly in TablePro.

Schemas

DuckDB supports multiple schemas per database; the default is main. Browse them in the sidebar. DuckDB has no toolbar schema switcher.

Querying files directly

DuckDB can query CSV, Parquet, and JSON files with SQL:

DuckDB on iOS

The iOS app supports DuckDB too. In the connection form, pick DuckDB and either turn on In-Memory Database or open a .duckdb/.ddb file through the Files app. Opened files keep working across launches through a security-scoped bookmark, so edits write back to the original file. The iOS build statically links the core_functions, json, parquet, icu, autocomplete, httpfs, and quack extensions, so remote Quack connections work on iOS without a download. Runtime extension autoloading stays off, so other on-demand extensions are not available on iOS. Large in-memory databases are bounded by the app’s memory budget.

Limitations

A local DuckDB file allows only one writer at a time. Close other processes holding the file before connecting.