CapyDB Docs
Guides

Studio

A SQL runner and table browser in the dashboard, with deliberate guardrails.

SQL runner

The Studio tab on a project runs SQL against the project database with bounded execution:

  • 15 second statement timeout
  • 1000 rows maximum per result (default 200; set max_rows up to the cap)
  • 20,000 characters maximum query length

Queries run inside a transaction; results stream back as columns + rows with the executed row count. Query history is kept per project, so you can re-run the thing you wrote last Tuesday.

By default the runner is in safe mode for data work. Advanced mode unlocks DDL (CREATE/ALTER/DROP) — flip it on deliberately when you mean to change schema, not data.

For anything long-running or interactive beyond the runner's bounds, connect with psql over the direct URL — Studio is a convenience, not a replacement for a real session.

Table browser

The Tables view lists schemas and tables with row counts, lets you page through rows, and supports editing:

  • insert rows
  • update rows in place
  • delete rows

Column metadata (types, nullability, defaults) comes along, so the editor knows what it is editing.

From the CLI

The same bounded runner backs capydb sql:

capydb sql "select count(*) from users" --json
capydb sql "select * from orders order by created_at desc" --max-rows 50

And capydb studio opens the dashboard page for the linked project:

capydb studio --page studio

Auditing

Studio activity goes through the same control plane as everything else, so SQL execution and row mutations show up in the project audit trail.