Skip to main content
Nothing in the titlebar is fixed furniture. The toolbar carries the commands for the tab you are on, and what it leaves out is one click away under Actions or in the menu bar.

The toolbar

Eight controls, laid out by pane: the sidebar toggle over the sidebar, the connection and its database in the centre, the tab’s own commands after them, and the trailing pane’s toggle at the end. Two of them change their name. The database control follows the engine’s own word: Schema on Oracle, Catalog on Trino, Keyspace on Cassandra. The commit control follows the tab: Create Table on a new table’s tab, Apply Changes on Users & Roles, Save Changes everywhere else.

What each context leaves out

A control the tab cannot use leaves the toolbar rather than standing there dimmed. That needs macOS 15. On macOS 13 and 14 the same eight stand in every context and dim where they cannot act, except in two places. Refresh stays enabled on a new table’s tab. So does the commit control on an ER diagram, Server Dashboard, Query Insights, DDL or history tab while a Truncate or a Delete is staged in the sidebar: that queue belongs to the connection, not to the tab in front of it. The shape settles on a tab switch, a mode switch and a connection switch, and at no other moment. A staged edit, a running query or a dropped connection dims a control; it never moves one.

Actions

One pull-down, rebuilt from the tab you are on each time it opens. Every entry is also a menu-bar command, so nothing lives only here. Finish or close the current dialog before opening another in the same window. Commands such as Restore Previous Values and Export Tables stay dimmed in the menu bar and Actions while a dialog is attached. Every context ends with Mode, Switch Connection and Close Connection, and Reconnect joins them while the connection is down. A window that has not connected carries those alone, and Mode is absent with AI features off in Settings > AI. Import Data takes the format from the file you pick and Import Data From beside it names the format and offers every file, which is the same pair the menu bar draws under File > Import.

Add a control back

The toolbar is still yours to arrange. Choose View > Customize Toolbar, or right-click the toolbar, and drag in any of these. A control you add yourself stays put. It stands in every context and dims when it has nothing to do, rather than leaving the way the default eight do. Your arrangement, and the Show setting in the same sheet, survive a relaunch.
The palette offers a tile for a control the tab you are on has hidden. Drag Refresh in while a new table’s tab is in front and nothing appears until you switch tabs.

The sidebar’s list chooser

Tables and Favorites sit above the filter field, at the top of the sidebar. Tables is the object browser; Favorites is the favorites list for this connection. View > Show Tables and View > Show Favorites pick the same two and reveal a collapsed sidebar on the way. Neither ships with a shortcut. Bind one in Settings > Keyboard, where they are listed under Navigation. In Agent mode the chooser and the filter field go, and the session list takes their height.

Filtering the sidebar

The filter field matches any part of a name, so sheet finds timesheet. How far it reaches depends on the layout: Neither reaches a schema the schema filter hides. A schema you have not opened is searched from one listing of the whole database, so only its tables and views match. Open the schema to search its procedures, functions, triggers and types too. Until that listing arrives, those schemas stay in the tree, collapsed. Oracle, Snowflake, BigQuery and the other engines whose sidebar lists schemas with no database above them show that tree in both layouts, and the filter checks the tables of every schema in it. A refresh, or a change made from TablePro, reads again only the schemas the tree has open. A closed schema is read the next time you open it.
Sidebar with timesheet in public at the top, and attendance and payroll below it, each opened to its timesheet tableSidebar with timesheet in public at the top, and attendance and payroll below it, each opened to its timesheet table

The List layout filtered by timesheet

Type a dot to filter by schema. attendance.time keeps the objects in attendance whose names contain time, attendance. shows everything in attendance, and shop.attendance.time names the database too. A table whose own name holds a dot, such as audit.events, still matches when you type that name. Open Quickly takes the same form with fuzzy matching.

Filtering schemas

Choose View > Filter Schemas, or right-click the empty area below the sidebar’s last row, and select the schemas you work in. The sidebar narrows as you select, and selecting none lists every schema again. The filter applies to the database you are browsing, so switch database to filter another. On an engine without schemas, such as MySQL, the command is dimmed.
Filter popover over the sidebar with a Search schemas field, a checkbox for each schema, and a Show All button at its footFilter popover over the sidebar with a Search schemas field, a checkbox for each schema, and a Show All button at its foot

Ticked schemas stay in the sidebar, the rest leave it

The filter is kept per connection and per database, on this Mac. The schema you are browsing stays listed whatever the filter says, and so does any schema holding a staged drop or truncate. A renamed schema keeps its place in the filter, and a dropped one leaves it. The sidebar and its search, Open Quickly, the schema picker at the foot of the object list, Database > Schema, the schema switcher, the export dialog and the column type picker all list only the schemas it keeps. The pickers and the switcher still offer every system schema. Typed SQL, autocomplete, MCP clients and the AI assistant reach every schema, filtered or not. A hidden schema still shows up in three places. A starred table in it stays in Favorites, the export dialog lists it when you export from it or a saved selection names it, and the type picker offers its types when the table you are editing lives there. While the filter hides anything, a line above the schema tree counts the schemas it shows. Click Show All there, or choose View > Show All Schemas, to clear it.

Folders

A folder groups the tables and views of one database or schema. It exists only in TablePro, so filing a table into one changes nothing on the server.
1

Make a folder

Click + at the foot of the sidebar and choose New Folder, or choose Database > New Folder. Right-click a table and choose Move to > New Folder to file it in the new folder straight away. Type a name and press Return.
2

File objects into it

Drag tables and views onto the folder, or right-click one and choose Move to and the folder. A selection moves together.
A filed object moves out of its Tables or Views section and into the folder. With View > Sidebar as List the folders sit under Folders, above Tables. With View > Sidebar as Tree each database or schema lists its own folders above its object kinds.
Sidebar with a Folders section holding Music, with Album and Artist, and Sales, with Invoice and InvoiceLine, above the Tables sectionSidebar with a Folders section holding Music, with Album and Artist, and Sales, with Invoice and InvoiceLine, above the Tables section

Two folders above the Tables section of the sample database

To take an object out, choose Remove from Folder, or drag it onto its Tables or Views section. Right-click a folder to rename it or choose Delete Folder. Deleting puts its objects back in their sections without asking, and Cmd+Z restores it. The filter field reaches inside folders. A folder holding a match opens to show it, and a folder without one is hidden until the field is cleared. Renaming or dropping a table keeps its folder in step, whether you do it from the sidebar or with SQL as Drop or rename with SQL describes. A renamed table stays filed under its new name, and a dropped one leaves the folder.

Temporary tables

A temporary table belongs to the connection that made it, so the sidebar lists it in its own Temporary section, under Recent. Run CREATE TEMPORARY TABLE in a query tab and the section appears. It goes when you drop the last one or disconnect, since the server drops them with the session. Click a temporary table to browse its rows, or right-click it and choose Show Structure. Both read the same connection your query tabs run on, and both are read-only. PostgreSQL, MySQL, MariaDB, SQL Server and SQLite list their temporary tables. On MySQL and MariaDB the section holds the tables your own CREATE TEMPORARY TABLE statements made, so one a stored procedure creates is not listed.

The trailing pane

One column on the trailing edge, holding one surface at a time. Its header keeps one height across all three, so switching surface moves nothing beneath it. The picker at the leading end of the header moves between Inspector and Assistant, and the segment you pick is remembered for that connection. Where there is nothing to pick the header draws the surface’s name instead: with AI features off in Settings > AI the pane holds the inspector alone, and Agent mode fixes it on Result. The ellipsis at the trailing end holds that surface’s own commands: Fields and JSON plus the JSON reader’s options on the inspector, New Conversation, Conversation History and Clear Recents on the assistant, and SQL and Results on the result column. Cmd+Option+I opens and closes the pane, and Cmd+Option+A swaps an open inspector for the assistant rather than closing the column. View > Show Inspector and View > Show Assistant are the same two, each reading Hide once its surface is on screen.

Work still running

Quit, Relaunch to Update, closing a window, a connection or a tab, and Disconnect each check for work still running there and ask once, in one alert that lists it:
  • a query run from an editor tab
  • a restore, backup, import, export, table transfer or object copy
  • an agent reply, including one waiting for your answer
  • a comparison or a sync script in Compare & Sync
Quit Anyway, Relaunch Anyway, Close Anyway or Disconnect Anyway stops each item on the list. Cancel, or Escape, keeps everything running. Quitting lists unsaved tabs on the same alert, and closing or disconnecting lists an open transaction there. When you close a window or a connection, unsaved edits still get Do you want to save changes? after it. A stopped restore can leave the database partly restored, and a stopped sync script keeps the statements it already ran.