All topics

Docs /

The Database tab

A small TablePlus-style database client in the right panel (cylinder icon), for PostgreSQL, MySQL/MariaDB and SQLite.

Connections belong to a project — the git repository of the focused pane (worktrees count as their main repository; a folder outside git is its own project). Add one with + or New connection… in the connection menu: host, port, user, password, database (or a SQLite file), SSL, and an environment label — Dev, Staging or Production. Production connections get a red border, and their edits always show the SQL before committing. Agents sets what agents in this project's panes may do with the connection through TAO CODING's database tools: Full access (reads, writes and schema changes — the default), Read-only (one statement per call inside a read-only transaction, so the database itself refuses writes — it guards against accidents; for a hard guarantee give the connection a read-only database user), or No access (agents don't see it at all). Timeout is how long one query may run, in seconds (default 30, at most 3600) — raise it for long migrations; the database is told the same limit, so a query that runs over is cancelled rather than left running. Test tries the connection without saving it. Passwords are stored in your system keychain, never in a file, and the app never shows them again (leave the field empty when editing to keep the stored one — unless you change the host, port or user: the stored password is only ever sent to the server it was saved for, so you type it again). If your project's .env, .env.local, .env.development or .env.development.local has a DATABASE_URL (or *_DATABASE_URL, POSTGRES_URL, MYSQL_URL), the tab offers it — Add saves it, password included, straight into the keychain.

  • Data — pick a table on the left; rows load 200 at a time (‹ › to page). Click a column header to sort (again for descending, a third time to clear); Filter adds conditions (=, contains, is null…) that are combined with AND. Double-click a cell to edit it — Enter keeps the value, Esc cancels, ∅ sets NULL. + Row adds a new row whose untouched cells use the column default; select a row by its number and press Delete to mark it for deletion (again to unmark). Nothing is written yet: edited cells turn amber, new rows green, deleted rows red. Preview shows the exact SQL, Discard drops it all, Commit (⌘/Ctrl + S) runs everything in one transaction — if any row changed or disappeared since it was loaded, nothing is saved and the error says which change failed. Tables without a primary key, and views, are read-only. If you focus a pane in another project while edits are queued, the tab asks before switching — say no and it stays on the current project with your edits.
  • SQL — an editor with table-name completion; ⌘/Ctrl + Enter runs the selection, or everything when nothing is selected. Several statements may be run at once; the last result is shown (at most 1000 rows). Each run is its own session: a transaction must be committed in the same run — one left open (a BEGIN without COMMIT) is rolled back when the run ends.
  • Activity — every statement an agent ran through TAO CODING's database tools this session, with the pane that ran it; writes and errors are highlighted, and a badge counts new entries.

Long values are cut at 4096 characters in the grid (and can't be edited there); binary values show their size.