Multi-tab
Open as many SQL tabs as you need. Each tab keeps its own SQL, history, plans, and result.
studio / sql
Multi-tab editor, EXPLAIN plan history, watch mode, result charts — on the same connection your app uses.
| name | users | rev |
|---|---|---|
| acme | 412 | 18,204 |
| globex | 271 | 9,880 |
| initech | 146 | 4,002 |
| umbrella | 88 | 1,210 |
02 — The editor
Open as many SQL tabs as you need. Each tab keeps its own SQL, history, plans, and result.
Write `WHERE created_at > :since` and Studio prompts you for the value. The CLI does the same.
Last 50 statements, scoped to each tab. Up-arrow scrolls through them.
Workspace-scoped or per-connection. ⭐ a query and pin it to the sidebar.
Plans + watch
EXPLAIN, read like a tree. The plan rendered as a tree, the expensive node lit — not a wall of text.
Plan history. Every run is kept. Add an index, run again, and the before/after sits side by side.
Watch mode. Re-run on an interval and tail the timing — watch a fix take hold live.
plan history
04 — Charts in place
Pick an x, an aggregate for y, bar or line — render it right in the result pane. No run-copy-paste-into-another-tool cycle.
x · group by
created_day
y · aggregate
SUM(amount_cents)
kind
bar · line
All client-side — the chart re-renders from the rows you already fetched, so flipping back and forth costs nothing.
Point-and-click when you don't need SQL — browse, edit, bulk ops.
/studio/tablesWhy did that query return nothing? RLS, roles, the lock graph.
/studio/securityThe objects your SQL leans on — views, functions, triggers.
/studio/catalogRun the same query across every connection from up here.
/studio/workspaceShip Studio — read-only viewers can run SELECTs, nothing else.
/studio/launchThe system, the contrast, the bundled architecture.
/studio