One pool, not two
Studio reuses the connection pool your app already runs. A separate GUI opens its own — second credentials, second TLS, second thing to leak.
Zanith Studio
Browse, edit, query, migrate, recover — bundled with the engine, running on your machine. One command.
| role | org_id | active | |
|---|---|---|---|
| [email protected] | admin | acme↗ | true |
| member | acme↗ | true | |
| [email protected] | member | globex↗ | false |
| [email protected] | owner | initech↗ | true |
| [email protected] | member | globex↗ | true |
02 — How it stacks up
Every database GUI handles row browsing. Studio earns its place when something goes wrong on a Friday afternoon — locks, drift, a destructive op nobody tested, a query that wants to be a chart.
| Capability | pgAdmin | TablePlus | Postico | Drizzle Studio | Prisma Studio | Zanith Studio |
|---|---|---|---|---|---|---|
Browse + edit rows the table-first surface | yes | yes | yes | yes | yes | yes |
FK drilldown by any column follow refs that aren't the PK | partial | partial | partial | no | partial | yes |
Bulk edit + find/replace single-click value-fill across a selection | partial | partial | partial | no | no | yes |
Sensitive-column masking passwords / tokens hidden by default | no | no | no | no | no | yes |
Lock graph + RLS inspector see who's blocking, what policies attach | partial | no | no | no | no | yes |
Migrations + recovery built in apply, plan, restore — no separate tool | no | no | no | partial | partial | yes |
EXPLAIN with plan history compare plans across edits | partial | partial | no | no | no | yes |
Result charts (bar / line) ad-hoc visualization on a query result | partial | no | no | no | no | yes |
Watch query · auto-rerun tail metrics in a SQL tab | no | no | no | no | no | yes |
Two-level workspace many DBs at once + drill into one | partial | yes | yes | no | no | yes |
Drizzle and Prisma Studio cover the table surface and their own migrations, but stop there. pgAdmin reaches for the operational depth but is its own UI culture. Studio tries to be both: the daily tool and the on-call tool, in the same window.
Two levels
The workspace sits above every connection — health, activity, cross-database search. Drop into one and the eight surfaces open up. Two levels, one mental model: pick a database, then pick a tool.
workspace · above the database
● healthy
● healthy
● healthy
● healthy
Eight surfaces
Most GUIs stop at the table browser. Studio keeps going — SQL with plans, migrations with a risk gate, recovery, the security matrix, the catalog. Same window, same connection.
Tables. Browse and edit like a spreadsheet — FK drilldown, bulk ops, masked secrets.
05 — Bundled, in-process
Prisma Studio and Drizzle Studio spin up a separate process with its own database connection. Zanith Studio is a UI layer inside the same Node process your app runs — sharing one engine, one pool, one migration runner. Less to deploy, less to secure, nothing to drift.
Studio reuses the connection pool your app already runs. A separate GUI opens its own — second credentials, second TLS, second thing to leak.
The schema parsed at startup powers both the typed query API and Studio's table list. There's no second schema to drift out of sync.
Apply from CI or apply from the Migrate tab — the same risk gates, the same audit rows, the same recovery artifacts. One source of truth.
Six surfaces, each a sub-page deeper than this overview — the workspace level, the eight tabs, and how to launch in production. All live today.
Many databases at once — Home, Servers, Activity, Settings.
/studio/workspaceBrowse, edit, bulk-update. FK drilldown, masking, find & replace.
/studio/tablesMulti-tab editor — EXPLAIN history, watch mode, result charts.
/studio/sqlLock graph, RLS inspector, roles, permission matrix.
/studio/securityViews, sequences, triggers, functions — what others forget.
/studio/catalogThree deployment shapes — local, shared staff, read-only viewer.
/studio/launchelsewhere