Skip to content

The Explorer

The Explorer is the tree on the left of the window. It lists your saved servers and, once a server is connected, its databases, schemas and every object in them. Click a row to see the object in the Inspector, double-click it to open it, and right-click it for everything else you can do with it (see Right-click menus).

The left pane has two tabs: Explorer, described here, and Library (see The Library). To hide or show the whole pane, choose ViewExplorer or press ⌘ 0 (Ctrl+B on Windows and Linux). Drag its right edge to make it wider or narrower.

The Explorer with Local demo connected and opened down to the shop database's public schema; its Tables folder holds five tables with their estimated rows, and the selected orders table shows in the Inspector on the right.The Explorer with Local demo connected and opened down to the shop database's public schema; its Tables folder holds five tables with their estimated rows, and the selected orders table shows in the Inspector on the right.
  • 1 Filter objects narrows the tree to rows whose name contains what you type. See Filter by name.
  • 2 A server row. From left to right: the colour you gave the server (a thin bar, when it has one), its connection icon, its name, its environment tag (DEV, STAGING or PROD) and, once connected, the major version of PostgreSQL (18 here).
  • 3 The arrow opens or closes a row. A row without an arrow has nothing to open: a folder with nothing in it, a database you may not connect to, or an object such as a column, a sequence or a function.
  • 4 The number after a folder is how many objects it holds.
  • 5 The number after a table is how many rows PostgreSQL thinks it has (~840, ~1.2M). Hover over the number for the full figure.
  • 6 The row you select shows in the Inspector. See The Inspector.

A folder has a folder icon, drawn open while the folder is open. Every kind of object has an icon of its own, and the tools under Management have theirs.

The elephant before a server’s name tells you whether it is connected. Hover over it for the same words.

Icon Meaning
Elephant with a green dot Connected. The tooltip names the version, such as Connected · PostgreSQL 18.1.
Spinning circle Connecting…
Warning sign The last attempt failed. The tooltip gives the reason PostgreSQL or the network gave.
Plain elephant Not connected
What you see What it means
A number after a folder How many objects the folder holds. A folder with a filter shows how many pass it, such as 2 of 5.
~840, ~3.4K, ~1.2M after a table The planner’s row estimate (reltuples) as of the table’s last VACUUM or ANALYZE. The tooltip gives the full number: About 1,204,113 rows, as of the last ANALYZE. A table that was never vacuumed or analyzed shows no number, and partitions never show one. On PostgreSQL 12 and 13, an empty table shows none either. For an exact count, right-click the table and choose TasksCount rows.
PK, FK, UNIQUE, CHECK, EXCLUDE, TRIGGER on a constraint The kind of constraint. Primary keys and foreign keys also have icons of their own.
PK on a column The column is part of the primary key. A key icon marks it too.
PK or UNIQUE on an index The primary key’s index, or a unique index.
TEMPLATE A template database.
SU A superuser role.
RESTRICTIVE A row security policy that narrows the others instead of adding to them.
A name in grey A system object, shown only when you ask for them. See Show system objects and counts.
(filtered) after a folder The folder has a filter of its own. See Filter a folder.

Many rows carry a word or two in grey after their name:

Row Grey text
Column Its type, and · not null when it cannot be null (left out for primary-key columns).
Function What it returns. The name includes the arguments, such as month_start(d date).
Procedure Nothing. The name includes the arguments.
Aggregate What it returns. The name includes the argument types, such as median(numeric), or (*) when it takes none.
Index Its access method, such as btree or gin.
Trigger, subscription disabled when it is disabled.
Type composite, enum, range or base.
Domain The type it is based on.
Collation Its provider: icu, libc, builtin or default.
Operator What it returns. The name shows the operand types, such as = (email, email), with NONE on the empty side of a prefix operator.
Text search configuration or dictionary The parser, or the template, it uses.
Foreign table The foreign server its rows come from.
Partition Its bound, such as FOR VALUES FROM ('2026-01-01') TO ('2026-02-01').
Policy The command it covers: select, insert, update, delete or all.
Rule Its event, followed by · instead and · disabled when they apply.
Role group for a role that cannot log in. Login roles and group roles also have different icons.
Extension Its installed version.
Foreign server Its foreign-data wrapper.
Event trigger The event it fires on, and · disabled when it is disabled.
Cast implicit or assignment when it is not explicit only. A cast’s name is source → target.
Language untrusted for an untrusted procedural language.
Publication all tables for a publication of every table.

A connected server holds four rows: Databases, and three groups that gather the server-wide objects by purpose. Each database holds its schemas, its extensions and two groups of its own.

Local demo opened: Databases with postgres and shop; shop holds Schemas, Extensions, Replication (Publications, Subscriptions) and Other Objects; then Security with Login/Group Roles, Storage with Tablespaces, and Management with Activity, Reports, Health Check and Configuration.Local demo opened: Databases with postgres and shop; shop holds Schemas, Extensions, Replication (Publications, Subscriptions) and Other Objects; then Security with Login/Group Roles, Storage with Tablespaces, and Management with Activity, Reports, Health Check and Configuration.
  • 1 Databases: every database on the server, by name. Template databases show only with system objects.
  • 2 Schemas: the schemas of this database.
  • 3 Extensions: the extensions installed in this database, each with its version.
  • 4 Replication: Publications and Subscriptions. Only the subscriptions of this database are listed.
  • 5 Other Objects: Casts, Event Triggers, Foreign Data Wrappers, Foreign Servers and Languages.
  • 6 Security holds Login/Group Roles. Storage, below it, holds Tablespaces.
  • 7 Management holds the server’s tools rather than objects: Activity, Reports, Health Check and Configuration. Double-click one to open it (see What a double-click or Enter does).

A group counts the folders in it, not the objects: Other Objects shows 5 for its five folders, and Management shows 4 for its four tools.

A schema’s folders come in this order: Tables, Foreign tables, Views, Materialized views, Functions, Procedures, Aggregates, Sequences, Types, Domains, Collations, Operators, Text search configurations, Text search dictionaries, Text search parsers and Text search templates.

Tables, Views, Materialized views, Functions, Procedures, Sequences and Types are always there, with 0 when empty. The others show only in a schema that has at least one such object, so an ordinary schema stays short.

  • Tables lists ordinary and partitioned tables, but not partitions: each partition is under its parent’s Partitions folder.
  • Types lists composite, enum, range and base types. Array types and the row types of tables are left out, and domains have their own folder.
  • Functions lists ordinary and window functions, without the ones PostgreSQL makes for another object (such as a range type’s constructors). Aggregates and procedures have their own folders.
  • Collations lists only the collations the database’s encoding can use.
The orders table opened: Columns with id (key icon, PK, bigint), customer_id bigint, created_at and total; Constraints with orders_pkey (PK) and orders_customer_id_fkey (FK); Indexes with orders_pkey (PK, btree); and an empty Triggers folder.The orders table opened: Columns with id (key icon, PK, bigint), customer_id bigint, created_at and total; Constraints with orders_pkey (PK) and orders_customer_id_fkey (FK); Indexes with orders_pkey (PK, btree); and an empty Triggers folder.
  • 1 Columns, in the table’s own order.
  • 2 Each column’s type, as PostgreSQL writes it.
  • 3 A key icon and PK mark the primary key’s columns.
  • 4 Each constraint is tagged with its kind; FK is a foreign key.
  • 5 Each index shows its access method, and PK or UNIQUE.
  • 6 A folder with 0 has no arrow.

Which folders a relation has depends on its kind:

Kind Folders
Table Columns, Constraints, Indexes, Triggers, Policies, Rules
Partitioned table Columns, Constraints, Indexes, Triggers, Partitions, Policies, Rules
View Columns, Rules
Materialized view Columns, Indexes
Foreign table Columns, Constraints, Triggers, Policies

Policies (row security policies) and Rules show only when there is at least one. Triggers leaves out the internal triggers PostgreSQL uses for foreign keys, Rules leaves out the _RETURN rule that makes a view, and Constraints leaves out the NOT NULL constraints PostgreSQL 18 records (the column’s · not null shows them). A partition has a partition icon instead of a table icon, and a partition that is itself partitioned has its own Partitions folder.

Click the arrow before a row, or select it and press →, to open it; ← closes it. A double-click opens and closes servers, groups, folders, databases and schemas too, but opens most objects in a tab of their own (see the table below). pgjumbo reads a folder from the server the first time you open it.

  • Opening a server that is not connected connects it. If no password is saved, pgjumbo asks for one (see Connection settings). While it connects, and while a folder loads, the row below says Loading….
  • If a folder cannot be read (no privilege on a schema, say), a row with a warning sign shows PostgreSQL’s message in its place. Double-click it, press Enter on it, or right-click it and choose Retry.
  • A server group (its name in capitals above its servers) opens and closes the same way. A closed group shows how many servers it hides, and stays closed the next time you start pgjumbo. Every other row starts closed.
Row Double-click or Enter
Server group, server, folder, database, schema Opens or closes it. A database or a schema opens in its own tab from Properties… instead.
Table, partitioned table, partition Opens it in its tab, on the view you used last for a table (Data the first time). Use the arrow or → to see its folders. See Tables.
View, materialized view Opens it in its tab on Data. Use the arrow to see its folders. See Views and materialized views.
Function, procedure, sequence, type Opens it in its tab on General. See Functions and procedures, Sequences and Types, domains and other schema objects.
Role, tablespace Opens it in its tab: a role on General, a tablespace on Contents. See Roles and Tablespaces.
Extension, publication, subscription Opens it in its tab: an extension on General, a publication on Tables, a subscription on Status. See Extensions and Publications and subscriptions.
Event trigger, language, cast, foreign-data wrapper, foreign server Opens it in its tab on General. See Event triggers, languages and casts and Foreign data.
Foreign table Opens or closes it.
Column, constraint, index, trigger, policy, rule, domain, collation, aggregate, operator, text search object Nothing: select it to see it in the Inspector.
Activity or Configuration under Management Opens the server’s tab on that view. See Activity and Server configuration.
Reports under Management Opens the server’s reports on Top queries. See Reports.
Health Check under Management Opens the health check of the server’s maintenance database. See Health check.
A row that could not load Tries again.

When the object’s tab is open already, pgjumbo brings it to the front instead of opening a second one.

Click a row, or move to it with the arrow keys. What changes:

  • The Inspector shows the selected object: its summary, its script, and its statistics and dependencies where it has them. See The Inspector.
  • With no tab open, the middle of the window follows the selection. A folder shows its objects as a list (see Object Details); a server or an object shows its server’s summary, with Disconnect and Edit, or Connect when the server is not connected; a server group shows the start page.
  • New query in the toolbar, and ⌘ T (Ctrl+T on Windows and Linux), open a Query Tool on the selected row’s database (a server-level row uses the server’s maintenance database).
  • Menu items such as ToolsMaintenance… and ToolsBackup… act on the selected row. See Menus.
  • When the Assistant is turned on, each message you send it tells Claude which row is selected in the Explorer. See Ask the Assistant.

Hover over a server or a server group and buttons appear at the right end of its row.

The pointer over the Local demo row: three buttons at its right end, Disconnect, Edit and Delete.The pointer over the Local demo row: three buttons at its right end, Disconnect, Edit and Delete.
  • 1 Disconnect disconnects pgjumbo from the server. On a server that is not connected the button is Connect instead (greyed out while it connects).
  • 2 Edit opens the connection’s settings: the Edit connection dialog, or the Connection view of the server’s tab when the server is connected. See Connection settings.
  • 3 Delete removes the server from pgjumbo, after asking. Nothing changes on the server itself.

A server group’s row has one button, Delete group. Groups, ordering and deleting are explained in Manage your servers. The same actions are in each row’s right-click menu, for the keyboard.

Type in Filter objects, above the tree, to keep only the rows whose name contains the text, in any case.

Filter objects holds “order”: the tree keeps Local demo, Databases, shop, Schemas, public and Tables, and under Tables only order_items and orders.Filter objects holds “order”: the tree keeps Local demo, Databases, shop, Schemas, public and Tables, and under Tables only order_items and orders.
  • 1 The text to look for.
  • 2 The rows above each match stay, so you can see where it is.
  • 3 The matches.

The filter looks only through rows you have opened: it does not open folders or ask the server for more. To find an object anywhere in a database, use Open Quickly (⇧ ⌘ O (Ctrl+P on Windows and Linux)). Server and group names match too, and so do the argument lists in function names. While a filter is on, closed server groups show their servers, and Loading… and error rows are hidden.

When nothing matches, the tree says Nothing matches “…”. Press Esc in the box, or delete the text, to see the whole tree again. The filter is not kept when pgjumbo closes.

A folder with many objects can show only some of them: right-click it and choose Filter….

The Filter · Tables dialog for public · shop · Local demo, with “or” in Name contains, an empty Owner field and the Filter button.The Filter · Tables dialog for public · shop · Local demo, with “or” in Name contains, an empty Owner field and the Filter button.

The dialog’s title names the folder, and the line under it says where the folder is (public · shop · Local demo).

  • 1 Name contains: text the object’s name has in it, in any case.
  • 2 Owner: the role that owns the object, typed exactly as the role is named. The field suggests the server’s roles, without the predefined pg_ ones.
  • 3 Filter applies it. It is greyed out until one of the fields has something in it.

Cancel closes the dialog without a change. When the folder has a filter already, the dialog opens with it filled in and adds a Remove filter button; clearing both fields and clicking Filter also removes it.

pgjumbo reads the folder again and keeps the objects that pass both fields. The folder opens and says it is filtered:

The Tables folder with a funnel and “(filtered)” after its name and “2 of 5” as its count; only order_items and orders are listed under it.The Tables folder with a funnel and “(filtered)” after its name and “2 of 5” as its count; only order_items and orders are listed under it.
  • 1 (filtered) after the folder’s name. Hover over it to see the filter, such as Filtered: name has “or”, or Filtered: name has “or” · owner app with an owner.
  • 2 How many objects pass, out of how many the folder holds.

To show the whole folder again, right-click it and choose Remove filter. A filter lasts until you remove it or close pgjumbo; Refresh keeps it.

You can filter every folder of objects, but not the groups (Security, Storage, Management, Replication, Other Objects). The Owner field is left out where the objects have no owner of their own: Columns, Constraints, Indexes, Triggers, Policies, Rules, Login/Group Roles, Casts, Text search parsers and Text search templates.

PostgreSQL’s own objects are hidden at first. The Explorer options button (the sliders, at the top of the pane) holds the switches for them and for the numbers.

The Explorer options menu open: View options with Show system objects (off) and Show object counts (ticked), and Server list with Import servers… and Export servers….The Explorer options menu open: View options with Show system objects (off) and Show object counts (ticked), and Server list with Import servers… and Export servers….
  • 1 Show system objects adds PostgreSQL’s own objects to the tree. ViewSystem Objects in the menu bar does the same.
  • 2 Show object counts shows the folders’ numbers and the tables’ row estimates. Turn it off for a quieter tree; a connected server still shows its version.

Import servers… and Export servers… are explained in Manage your servers. The New connection button (+) beside Explorer options adds a server: see Your first connection.

The tree with system objects shown: Databases now counts 3, the pg_catalog schema is listed in grey under shop's Schemas, and template1 shows in grey with a TEMPLATE tag.The tree with system objects shown: Databases now counts 3, the pg_catalog schema is listed in grey under shop's Schemas, and template1 shows in grey with a TEMPLATE tag.
  • 1 A system object is drawn in grey, here the pg_catalog schema.
  • 2 Template databases carry a TEMPLATE tag.

These are system objects: template databases; the pg_catalog, information_schema, pg_toast… and pg_temp_… schemas; the predefined roles whose names start with pg_; and the casts and languages (internal, c, sql) built into PostgreSQL. Folder counts include them only while they are shown. Only those rows count: the tables and functions inside pg_catalog are listed like any others. A system object’s right-click menu leaves out what would change, copy or drop it (see What changes a menu).

Both switches are kept between runs, and so is the pane’s width.

pgjumbo reads each folder once, when you first open it. When objects change outside the Explorer (in a Query Tool, or from another client), refresh the row that holds them:

  • right-click the row and choose Refresh;
  • choose ObjectRefresh, or press ⌘ R (Ctrl+R on Windows and Linux) anywhere in the window while the Explorer pane is shown;
  • or press F5 while the tree has the keyboard.

Refresh reads the row’s children again, and those of every open row below it. It also reloads the row’s Object Details list, and the Inspector for the row and every object below it. Refresh is offered on a connected server and on any row with an arrow; a folder showing 0 has no arrow, so refresh the row above it.

Changes made from the Explorer’s own menus need no refresh. After Drop…, a Create dialog, Edit index…, Install extension…, Restore…, Copy Database… or Import File into New Table…, pgjumbo reads again the database the object is in (the whole server after Create database…), and after a drop it selects the folder the object was in. Truncate…, Reset statistics and grants only reload the Inspector.

Right-click an object and choose Copy name. The menu shows, in grey, the text it puts on the clipboard: the name as SQL needs it, in double quotes where PostgreSQL needs them.

Object What Copy name copies
Table, partition, view, materialized view, foreign table, sequence, type, index, function, procedure, domain, collation, aggregate, text search object The schema-qualified name, such as public.orders. A function’s name comes without its arguments.
Operator OPERATOR(schema.op), as an expression needs it.
Column, constraint, trigger, policy, rule The name on its own.
Database, schema, role, tablespace, extension, and the other objects under Replication and Other Objects The name.

Folders, casts and the tools under Management have no Copy name.

ViewShow in Explorer finds the object of the tab in front in the tree:

  • an object’s tab shows its object;
  • a data tab shows its table or view;
  • a Query Tool or a server’s tab shows its server.

The item is greyed out for other tabs, such as reports or a diagram. pgjumbo shows the Explorer if it was hidden or on the Library tab, clears Filter objects, opens every row above the object (a closed server group too), selects it and scrolls it into the middle of the tree. The tree then has the keyboard. A partition is the exception: pgjumbo opens its schema’s Tables folder, but the partition itself sits under its parent’s Partitions folder, so open that yourself.

Open Quickly and Go to Definition (F12, see Writing SQL) find objects in the tree the same way.

Click a row, or tab to the tree, to give it the keyboard.

Keys What they do
↑ ↓ Select the row above or below.
Home End Select the first or the last row.
→ Open the selected row; on an open row, select the row below it.
← Close the selected row; on a closed row, select the row it is in.
Enter Do what a double-click does (see the table above).
⌘ I (Alt+Enter on Windows and Linux) Properties…: open the object in its tab, or show it in the Inspector.
F5, or ⌘ R (Ctrl+R on Windows and Linux) Refresh the selected row.
⌘ T (Ctrl+T on Windows and Linux) Open a Query Tool on the selected row’s database.
F2 Rename the selected server group.
⌥ ↑ (Alt+↑ on Windows and Linux) ⌥ ↓ (Alt+↓ on Windows and Linux) Move the selected server or server group up or down among its neighbours.
Shift+F10 or the menu key Open the selected row’s right-click menu (Windows and Linux).
Esc In Filter objects: clear the filter.

With no server saved, the Explorer says No servers yet and Add a PostgreSQL server to browse it., with a New connection button, and Filter objects is not shown. See Your first connection. If pgjumbo cannot read its own list of servers, the pane shows The server list could not be loaded: and the reason; see Troubleshooting.