Databases at native speed

dbunk is a fast, open-source database client for macOS, written in Rust on GPUI, the framework behind the Zed editor.

Pre-alpha · macOS on Apple Silicon

Fast

Rust from the driver to the pixels. The UI is drawn on the GPU, so large results scroll without a stutter.

Safe by default

Edits are staged, reviewed as a diff with the exact SQL, and production writes need a typed confirmation.

Every engine

PostgreSQL, MySQL, SQLite, ClickHouse and Redis, each with its own object tree and tools.

dbunk running a SQL query against a development PostgreSQL database, with results below the editor Browsing 48,213 rows of an orders table on a production connection, framed in red Review dialog listing two updates and a delete with before and after values and the SQL that will run Table structure view showing columns, keys, indexes and foreign keys Redis console with a keyspace tree grouped by type, on a staging connection framed in amber
Write SQL in Zed's editor. Results in 11 ms.

Built for real database work

Not a query box with a grid attached. The tools you would normally open a second app for are tabs here.

Grid with an edited status, an edited total and a row struck through for deletion

Staged edits

Edit cells, insert and delete rows right in the grid. Nothing is written until you review it, and discarding is one click.

Review dialog with a diff of each change and the parameterised SQL

Review, then apply

Every change as old and new values, next to the exact parameterised SQL, then applied together.

EXPLAIN ANALYZE plan as a tree with costs, rows and timings

Query plans

EXPLAIN and EXPLAIN ANALYZE as a tree with costs, row estimates and timings.

Schema map of four tables joined by foreign keys

Schema map

Tables and foreign keys laid out as a diagram. Export it as SVG or PNG.

Structure view of the orders table

Structure

Columns, keys, indexes, constraints, triggers, policies and grants for any table.

Open Anything

⌘K jumps to any connection, schema, table, function or command.

CSV import and export

Streamed transfers with column mapping, progress and cancel.

Backup and restore

pg_dump and pg_restore as cancellable jobs, with a review before restore.

Sessions and locks

See what is running and what is blocking it. Cancel or terminate.

Schema compare

Compare two databases object by object and field by field.

Managed servers

Spin up a scratch PostgreSQL in Docker, start it, stop it, remove it.

Production looks like production

Every connection has an environment. You always know where you are, and the backend enforces what a write needs.

The window frame takes the colour of the connection: green for development, amber for staging, red for production, with a standing warning strip.

On production, applying staged changes means reading the review and typing confirm. Elsewhere, a review and a click.

Mark a connection read-only and writes are refused. Safe mode is checked where statements run, not just in the interface.

Passwords are encrypted on disk with an app password, kept in the macOS Keychain, or stored plain for throwaway setups. No account, no cloud.

Orders table on a production connection with a red frame and warning strip Review dialog for production changes Connection form with environment, safe mode and read-only options First-run setup offering encrypted SQLite, the macOS Keychain or unencrypted SQLite for saved passwords

One window, five engines

Each engine gets its own session, object tree and documents, so Redis looks like Redis and ClickHouse looks like ClickHouse.

flagship

PostgreSQL

Everything on this page.

  • Staged edits and review
  • DDL, grants, RLS
  • Backups, CSV, compare

MySQL

Databases, tables, views, routines, events and triggers.

  • Query, data, structure
  • KILL QUERY on stop

SQLite

Open a file and its attached databases.

  • Query, data, structure
  • Read-only opens read-only

ClickHouse

Tables, views, materialized views and dictionaries.

  • Bounded, streamed reads
  • Query, data, structure

Redis

A console with a sampled keyspace, grouped by type.

  • Guards on destructive commands
  • Key inspector tabs

Keyboard first

Every control is reachable from the keyboard, and the common moves are one shortcut away.

Open Anything ⌘K
Open table ⌘O
New query ⌘T
Run statement ⌘↵
Switch project ⌘P
Toggle sidebar ⌘\
Open Anything palette listing tables, a type, a sequence, a function and a command matching ord

Open Source

dbunk is built in the open. Read the code, the plans and every architecture decision on GitHub.

5Engines
33Architecture decisions
0Accounts required
GPL-3.0App licence

Try dbunk today

dbunk is pre-alpha: fast and already useful, and still changing between releases. Point it at databases you can afford to lose.

xattr -dr com.apple.quarantine /Applications/dbunk.app