DuckDB packs a columnar analytical engine into a single file and queries Parquet, CSV, and JSON right where they sit. DbSchema opens that file — no server, no setup — and adds a schema diagram, an SQL editor, and documentation around it.
read_parquet() outside a notebookTrusted by teams at
DuckDB files circulate the way spreadsheets used to: a pipeline writes one, a data scientist shares one, an analysis ends up archived as one. Opening it normally means writing a Python or R snippet just to list the tables.
DbSchema skips the snippet: open the file, get tables, views, and column definitions on a canvas, and start querying.
A desktop workbench for the database that fits in an email attachment.
DbSchema reads the catalog of a DuckDB file and diagrams it — including schemas inferred from Parquet and CSV loads — before you write any SQL at all.
Window functions, PIVOT and UNPIVOT, read_csv_auto() over raw files — write it, run it, inspect the grid, export the result. No kernel restarts involved.
Export HTML documentation of the tables and views inside the file, so the analyst who receives it next month knows what every column means.
Data engineering repos version transformations, configs, and tests — the table structures they produce deserve the same. Keep the DbSchema model next to the pipeline code, diff schema changes in pull requests, and reconcile the model against any DuckDB file.
Pick DuckDB in the connection dialog and DbSchema downloads the JDBC driver automatically. The
URL is jdbc:duckdb:/path/to/file.duckdb for a database file, or plain
jdbc:duckdb: for a throwaway in-memory session. DuckDB enforces single-writer
access: close any other process holding the file — a Python duckdb.connect()
session, for instance — or the connection fails with a lock error. More on the
DuckDB JDBC driver page.
Grab the installer — Community stays free, Architect is yours for 15 days, no account.
Teams working with DuckDB often use these engines too. Explore dedicated guides and JDBC setup for each.