Skip to main content
Pick a .duckdb file to open a database, or a .parquet, .csv, .tsv, .json or .ndjson file to read it where it sits. DuckDB 1.5.2 is compiled into the driver, so nothing runs as a server unless you point the connection at one. The driver is not in the app. Picking in the Choose a Database sheet offers the download before the form opens, and opening a saved connection installs it without asking. Settings > Plugins > Browse > installs it up front. See Plugins.

Quick setup

1

Create the connection

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

Choose a file

Leave Connection Type on Local File and click Browse…. Type :memory: in the field instead for a database that lasts as long as the session.
3

Connect

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

DuckDB connection form

What the file field accepts

In Local File mode the path is the whole connection, and it is required; the form shows no host, port or Database field. Double-click a .duckdb or .ddb file in Finder to open it in TablePro; the data formats are not registered with Finder.

Remote (Quack)

Quack is DuckDB’s client-server protocol, served by quack_serve. Set Connection Type to Remote (Quack, experimental): Save & Connect attaches the remote to an in-memory DuckDB. Reach it through the alias: SELECT * FROM remotedb.main.orders.
The quack extension is not linked into the macOS build. DuckDB downloads it from extensions.duckdb.org on the first remote connect and caches it under ~/.duckdb, so that one connect needs to reach that host.

Connection URL

See Connection URL Reference for all parameters.

Databases and schemas

A connection opens one database named after the file: analytics.duckdb becomes analytics, schema main. ATTACH a second file and it joins the sidebar as a sibling database after a refresh:
Press Cmd+K to move between them, in place, with no reconnect. DuckDB does not persist attachments, so a reconnect starts again from the one file. system and temp are hidden, and with them information_schema and pg_catalog. Any connection can also read a file straight from SQL:

Limitations

  • A DuckDB file takes one writer at a time. A connect against a file another process holds fails, naming that process. Quit the duckdb CLI, the Python process or the other TablePro window first.
  • A data file opened through Browse… is read-only, and the file on disk is left byte for byte identical. To change its contents, open a .duckdb database and run CREATE TABLE t AS SELECT * FROM 'data.parquet'.
  • Remote (Quack) lists no tables in the sidebar. Write them out by name through the alias.
  • No SSL/TLS pane and no SSH tunnel. The engine is in-process; see SSL/TLS.
  • No creating or dropping a database. ATTACH is the way to reach a second file.

Troubleshooting

No file at …

A data-file path that is not there. Only .duckdb and .ddb are created on demand. Re-pick the file with Browse….

DuckDB opened the file but reported no catalog to browse

The file opened and exposed nothing to list. Check that it is a DuckDB database and not a file with a borrowed extension.

Port must be a number between 1 and 65535

Port holds something else. The Quack default is 9494.