Database tools
PostgreSQL and MySQL instances carry three extra tabs: a Table editor, a SQL editor, and Database users. They're for the moments when installing a client, opening a tunnel, or finding the password isn't worth it — checking a row, running a migration, handing a colleague their own account.
They work on a running instance and are available on the instance's own page, next to Metrics and Backups.
How queries actually run
The dashboard never opens a database connection from your browser, and it doesn't need the instance to be public. You submit a statement, the platform queues it, runs it inside your instance's container, and brings the rows back.
Three things follow from that, all deliberate:
- A private instance is fully usable from the dashboard. Nothing has to be exposed to the internet for you to look at your own data.
- Queries are bounded by a statement timeout, so a runaway one can't pin the instance.
- When a statement fails, you get the engine's own error — the syntax error, the constraint name — not a platform error code standing in front of it.
Running queries is its own permission, separate from reading an instance's metadata. See Workspaces & roles.
Table editor
Tables lists the tables in the instance's database and browses the rows of whichever you pick, with a search box for finding one in a long list. It's the fastest way to answer "did that write land?".
SQL editor
SQL editor runs a statement against the instance. Press Ctrl/Cmd + Enter to run, and results come back as a table or as raw JSON, with the row count and elapsed time. Format tidies the statement, history keeps the queries you've run this session, and results export to CSV or JSON.
It's a full SQL channel, not a read-only viewer — CREATE TABLE, ALTER, INSERT and friends all work. So does DROP. There's no undo.
Database users
Every instance comes up with one primary user — the one in the connection string. Database users adds more, so an application, a teammate, or a script gets its own credential you can drop later without rotating everything.
A new account is created with its own password, shown once: copy it when you create it. If it's lost, delete the account and make another. New accounts are granted access to the instance's own database — not to everything on the server — and the list flags the primary user, superusers, and accounts that can't log in, so it's clear what each one is.
The two engines model accounts differently and the panel follows the engine rather than papering over it: a PostgreSQL account is a role, and a MySQL account is a user bound to a host. Deleting one drops it on the engine, immediately and permanently.
Next steps
- Connecting — connecting from your laptop, CI, or app instead
- Backups — take a dump before you run the migration
- Instances — lifecycle, sizes, and metrics