Version 1.0 — now on the Mac App Store

Postgres, MySQL,
SQLite — at the speed
of your editor.

DevTables is a native Mac database client built for developers who live on the keyboard. A command palette runs any action by name, ⌘P jumps to any table the way you'd open a file, and autocomplete already knows your schema. No tree-clicking. No page-one resets. No telemetry.

Muscle memory: ⇧⌘P — anything.
Get DevTables for macOS
3 + 1Postgres, MySQL, SQLite — plus read-only OpenObserve
⇧⌘Pevery action, by name — every key rebindable
macOS 15+native SwiftUI, Keychain-backed secrets
Zerotelemetry — your queries never leave your Mac

This window is drawn in HTML — but the palette works. Press ⇧⌘P and type.

§ 01 — The keyboard

Hands on the keys,
never on the tree.

i

Command palette ⇧⌘P

Every action in the app, run by name. Connect, query, export, truncate — type a few letters instead of hunting through menus.

ii

Go to Table ⌘P

Jump to any table by typing its name — exactly the way you open a file in your editor. The sidebar becomes optional.

iii

Schema-aware autocomplete

Live table, view, and column suggestions driven by the tables in your current statement — with column types shown inline.

iv

State-preserving switching

Each open table keeps a live grid. Flip between tables and land exactly where you left off — scroll, page, sort, and selected row intact.

v

Your columns, remembered

The columns you show or hide — and the WHERE filters you set — are saved per table and per connection. Reopen a table, get your view back.

vi

Every key, rebindable

The defaults below are just defaults. Settings → Keymap rebinds every common navigation, grid, and SQL action.

⇧⌘P palette ⌘P go to table ⌘K switch connection ⇧⌘K switch database ⌘T new SQL tab ⌘↩ run current ⇧⌘↩ run all ⌘S commit changes ⇧⌘S save query ⌘R refresh ⌘/ comment ⌘] next tab
§ 02 — The engines

Three engines, done properly.
Plus one for your logs.

Engine Browse Edit data Structure Users TLS · SSH Notes
PostgreSQLvia libpq Yes Yes Yes Yes Both Full structure editing including foreign keys; create databases.
MySQLvia libmysqlclient Yes Yes Yes Yes Both Native and mysql_native_password auth, both supported out of the box.
SQLitelocal files Yes Yes Partial¹ WAL-aware, sandbox-friendly; files reopen reliably after relaunch.
OpenObservevia _search api Read-only HTTPS Streams appear as tables; time-window queries on _timestamp run fast.

¹ SQLite supports add / rename / drop column and create / drop index. In-place type, nullability, default, and foreign-key changes are deliberately blocked — SQLite can't do them without silently rebuilding your table, and DevTables won't do that behind your back.

On the radar — later, not today: SQL Server, MongoDB, and Redis. The current priority is depth and polish on the three core engines, not breadth.

§ 03 — The editor

A SQL editor that knows
your schema by heart.

i

Autocomplete that reads your statement

Columns are preloaded from the tables referenced in the query you're writing, shown with their types, and ranked ahead of keywords.

ii

History that files itself

Every statement is kept per connection, grouped Today / Yesterday / older. Yesterday's one-off query is one click away.

iii

A query library ⇧⌘S

Save queries with names, organize them into folders, favorite the ones you reach for weekly.

iv

Run exactly what you mean

⌘↩ runs the current statement or selection; ⇧⌘↩ runs everything, one result tab per statement. Beautify keeps your -- comments.

§ 04 — The safety net

See the SQL before it runs.
Staged edits, one transaction, zero surprises.

i

Staged, not fired

Edited cells, new rows, and deletions are held as a visible set of pending changes — nothing touches the database until you commit.

ii

The exact SQL, shown first

Review Changes lists every statement a commit will run — for data edits and for schema edits alike. What you read is what executes.

iii

One transaction ⌘S

The whole change set commits atomically. If one statement fails, none of them stick.

iv

Guard rails everywhere

Destructive queries ask first. Truncate sits behind a deliberate dialog. And a real NULL never blurs with the string "NULL".

§ 05 — The index

Everything else,
listed plainly.

§ 06 — Changelog

Released, in the open.
Recent versions, in the order they shipped.

  1. 1.0.1

    Connectivity, hardened

    SSH tunnels accept RSA private keys (AWS-style .pem included) via rsa-sha2 signatures. MySQL connects to servers still on mysql_native_password. New MySQL tables default to the current database, and OpenObserve queries always fetch fresh results.

    June 2026
  2. 1.0

    The first release

    Connections, instant table browsing, a schema-aware SQL editor, transactional data and structure editing with Review Changes, user management, CSV/JSON import and export, TLS and SSH tunnels — and the command palette holding it all together.

    Initial release
§ 07 — Download

Get it
now.

DevTables 1.0 is live on the Mac App Store — a free download, fully sandboxed, no telemetry. Help shape what 1.x becomes by filing issues and feature requests on GitHub.