Browse documentation

Browse and edit

Table data

Open any table from the sidebar to page through its rows, sort by a column, filter with a bar that shows the SQL it builds, hide columns and copy what you need.

Where to find it

ActionHow
Open a tableClick it in the sidebar, or ⌘P (Ctrl+P)
Show the rowsData below the grid, ⌘⌃[ (Ctrl+Alt+[)
Show or hide filtersFilters below the grid, ⌘F (Ctrl+F)
Add a filterAdd in the filter bar, ⌘⇧I (Ctrl+Shift+I)
Choose columnsColumns below the grid, ⌘⌥F (Ctrl+Alt+F)
Read a long valueRight-click a cell, then Quick Look
Open the console⌘⇧C (Ctrl+Shift+C)

Grid shortcuts act on the grid that has focus, so click a cell first.

Sorting

Click a column heading to sort by that column. The first click sorts descending, the second ascending, and the third removes the sort. An arrow in the heading shows the direction, and the database sorts the whole table, not only the rows on screen. The bar below the grid shows the row count.

The orders table sorted by placed_at with a down arrow in its heading, the newest orders first, and 120 rows in the bar below the grid.
The heading arrow shows the sort.
Each click moves to the next step: descending, ascending, unsorted.

Paging

A table opens 500 rows at a time, shown as Limit and Offset in the bar below the grid. Type new values and choose Go, or use the buttons for the first, previous, next and last page. The bar shows which rows are on screen, such as rows 501 to 1,000.

A 2,000-row table on its second page, with Limit 500, Offset 500 and rows 501 to 1,000 in the bar below the grid.
Limit and Offset set the page size and position.

Filters

Filters opens a bar above the grid where each row picks a column, an operator and a value, and rows must match every filter. Text columns offer contains, starts with and ends with, while number and date columns offer comparisons and between. SQL shows the statement the filters build, and Apply runs it. Right-clicking a cell offers Filter by value.

The books table with two filters, format = paperback and price < 20, the generated SELECT on the SQL line, and the seven matching rows below.
The SQL line shows what the filters build.
The operator list open on the format filter, showing =, !=, contains, starts with, ends with, in, is null and is not null.
The operators follow the column's type.

Columns and Quick Look

Columns opens Visible columns, where you untick columns and choose Apply, and Show all brings them back. For a long value, right-click the cell and choose Quick Look. It formats JSON, offers Raw, Wrap and Copy, and closes with Esc.

The Visible columns popover with placed_unix and shipping_address unticked, and the orders grid behind it without those columns.
Unticked columns leave the grid when you choose Apply.
Quick Look open under a books metadata cell, showing the JSONB value formatted over several lines with Pretty, Raw, Wrap and Copy controls.
Quick Look shows the whole value, formatted.

Views and copying

Views open, page, sort and filter the same way as tables. A view has no primary key, so the grid shows This table has no primary key, so rows cannot be identified for editing. and disables the editing buttons. To copy, select cells, right-click and choose Copy, Copy cell value, Copy column values or a format under Copy as, which Results grid describes.

The book_sales view under an amber banner saying there is no primary key, with Row, Duplicate and Delete disabled.
A view reads like a table, but the grid does not edit it.

Good to know

  • Sorting, filtering and paging run on the database server, and the console lists each query the app sends. The console shows values as parameters, while the SQL line shows them inline.
  • NULL appears as an italic NULL, never as an empty cell.
  • Default filter state in Preferences > Data decides whether a table reopens with its last filters.
The console below the filtered books grid, listing the SELECT and COUNT queries the app sent for the filters, with their times and row counts.
Every page load appears in the console.