Chapter 4
Browse data
Open any table or view to see its rows in the grid. Rowan pages through tables of any size smoothly, so you can scroll, sort and filter millions of rows without waiting.
The grid and paging#
To open a table, click it in the sidebar, or press CtrlP and type its name. Its rows appear in the grid, one page at a time; as you scroll, Rowan fetches the next page in the background.

- CtrlUp and CtrlDown jump to the first and last row; CtrlLeft and CtrlRight move a page back or forward.
- The bottom bar shows the number of rows and which ones are in view. For a large table the count is an estimate, shown with a ~; click it and choose Count to count exactly. Small tables are always counted exactly.
- To start at a particular row, click the gear in the bottom bar (or press CtrlG), set Limit and Offset, and choose Go.
- Drag a column's edge to resize it; double-click the edge to fit its contents.

The number of rows Rowan fetches at a time is set in Settings > Table (Rows per page).
Rowan pages by primary key whenever it can, so jumping to row four million of a table is as quick as row one.
Sort rows#
Click a column's header to sort by it: once for descending, again for ascending, a third time to stop sorting. A chevron beside the name shows the direction. You can also right-click a header and choose Sort Ascending, Sort Descending or Remove Sort.
Sort by several columns#
- Press CtrlAltS, or right-click a header and choose Sort Multiple Columns > Edit….
- Add each column in the order it should sort, and choose Ascending or Descending for each.
- Choose Apply.

A table you haven't sorted is shown in primary key order. You can change that default in Settings > Table. Each tab remembers its sort, even after Rowan restarts.
Filter rows#
The filter bar finds rows without writing SQL. Press CtrlF, or click the funnel in the bottom bar.

- Choose a column, or Any column to search them all, or Raw SQL to write your own condition.
- Choose an operator, such as =, Contains or BETWEEN.
- Type a value and press Enter, or click Apply.
The operators are =, <>, <, >, <=, >=, IN, NOT IN, IS NULL, IS NOT NULL, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, ILIKE, NOT ILIKE, Contains, Not contains, Has prefix and Has suffix, and the last four again in an any case version. BETWEEN takes two values; IN takes values separated by commas.
Several filters at once#
- Press CtrlI in the bar, or click +, to add a filter row; CtrlShiftI or − removes one.
- The checkbox at the start of each row decides whether it's used. CtrlB checks or unchecks the current row.
- Apply All (CtrlEnter) applies every checked filter, joined with AND. To join them with OR, click the arrow beside it and choose Apply All Checked Filters with OR.
- SQL shows the query the filters make, to copy or open in an SQL editor. Export… exports the filtered rows. Clear removes every filter.
- Esc clears the value you're typing; press it again to hide the bar.
Values are sent to the server as parameters, never pasted into the SQL, so a quote or a semicolon in a value is just a character. The Filters button in the bottom bar lights up while a filter is on, and each table keeps its filters, even across restarts.
The gear in the filter bar sets where new filters start: the default column and operator, and whether the bar stays open for each table. The same options are in Settings > Table.
Quick filters#
To filter by a value you can see, right-click its cell and choose Quick Filter, then one of: = that value, Contains, Has prefix, IS NULL or IS NOT NULL. Select several cells first to filter with IN their values. To start a filter on a column, right-click its header and choose Filter With Column.

Show and hide columns#
Press CtrlAltF, or click Columns, to choose which columns to show. Type names separated by commas, or check and uncheck them in the list, then choose Apply. Right-click a header for Hide This Column and Show All Columns. Each table remembers which columns are hidden.

Pinned columns#
A pinned column stays at the left edge while you scroll across a wide table. The primary key is pinned for you; to pin any other column, right-click its header and choose Pin Column.

Pinned columns keep the order you pinned them in, and each table remembers them. Choose Unpin Column or Unpin All from the header's menu to let them scroll again. If pinned columns would take up most of the grid, Rowan lets them scroll until there's room. To stop pinning primary keys, turn off Pin primary key in Settings > Table.
Follow foreign keys#
A cell in a foreign key column has a small arrow at its right edge. Click the arrow, or right-click the cell and choose Open Referenced Row, to open the row it points to in a new tab, already filtered to that row.

Keys over several columns work too: the new tab filters on every column of the key. Use AltLeft to go back.
Row detail#
The right sidebar shows the selected row as a form, one field per line with its type. Press Space in the grid to show or hide it.
- Type in Search for field… to find a field in a wide table.
- Edit a field and press Enter; the change is staged like an edit in the grid.
- The ⋯ beside a field sets it to NULL, DEFAULT, EMPTY or
now(), formats JSON with PRETTY or MINIFY, or loads a file into it.

Quick Look#
Quick Look opens a cell in a larger editor, right beside it. Select a cell and press CtrlEnter, middle-click it, or right-click and choose Quick Look Editor.

- Long text, JSON and XML get room to read and edit. JSON can be shown as Raw text or as a Tree.
- Binary (
bytea) values preview as images or PDFs where they are one, with their hex below. Save As… saves the value to a file, and Add a File… replaces it with one. - Save stages the change; Cancel or Esc closes without changing anything.
- Open in Window (CtrlShiftO) moves Quick Look into a window you can resize and keep open while you work.
Copy rows and cells#
- CtrlC copies the rows your selection touches, as tab-separated text that pastes neatly into a spreadsheet or back into Rowan.
- CtrlShiftC copies only the selected cells.
- Right-click and choose Copy Rows As or Copy Selected Cells As for another format: Plain Text, JSON, HTML, Markdown Table, CSV, CSV include fields name or SQL Insert Statement.
- Right-click a header for Copy Column Name, or Copy All Column Values to copy the whole column, as filtered and sorted, not just the rows loaded.
To export rows to a file instead, see Export.
Special values#
Rowan draws some values in a way that's quick to read:

All of these are in Settings > Table.