PostgreSQL GUI for Mac and Windows

plainDB is a desktop PostgreSQL client for browsing tables, reviewing grid edits and running SQL. Connect directly, over an SSH tunnel or to your Supabase database. Grid edits have a SQL review step; statements entered in the SQL editor run through its separate Run controls.

Connecting

The connection details you need, in one place.

The usual fields

Host, port, database, user and password. Or paste a postgresql:// URL or a host=… dbname=… string and the fields fill in.

Four PostgreSQL SSL modes

disable, prefer, require and verify-full. For verify-full, point the connection at the server's root certificate.

SSH tunnels

Reach a database behind a jump host with a private key or a password. On macOS, keys already loaded in your ssh-agent are used automatically.

Read-only connections

Use the read-only connection setting for browsing. Pair it with a database role that has only the permissions you need.

Data, structure, indexes, DDL

Open a table and page through its rows in a grid with a row-number gutter you can hide. The inspector shows the selected row or cell in full. Switch the tab to Structure for columns and types, Indexes for what is indexed, and DDL for the statement that would recreate the table.

Filters are built in a bar above the grid, grouped with AND and OR, and the WHERE clause they produce is shown as you type.

The customers table switched to its Structure view: a list of columns with their types, nullability and primary key marks.
The Structure view of a table.

Review your grid edits before applying

Edit cells in the grid or delete rows. Changes are collected, not sent. Apply opens a review with the exact UPDATE and DELETE statements, and only your confirmation runs them. Rows are matched by primary key, so the statements are as narrow as the table allows.

Try the review workflow with our practice SQLite file before using your PostgreSQL data. The same guide explains saved row undo, transaction rollback and what neither can recover.

A Mac confirmation dialog showing the generated UPDATE statement for a customer plan edit, with Apply and Cancel buttons.
Mac review dialog captured with synthetic SQLite data. PostgreSQL statements target that database’s table and row identifiers; this image is an example of the shared review interface.

Scripts, results and errors, per statement

A query tab runs a whole script and returns one result per statement. A failing statement shows its error in place; the ones that succeeded keep their results. History records what you ran, saved queries keep what you want back, and the Query Pad keeps a persistent SQL scratchpad.

Results export to CSV, TSV, JSON, Markdown or SQL INSERT statements, and so does any table.

Both platforms offer EXPLAIN and visual query-plan inspection. PostgreSQL EXPLAIN ANALYZE executes the statement; review it before running.

A SQL query and its results in plainDB for Mac: customer counts and monthly revenue grouped by plan.
SQL results grouped by plan, captured in the Mac app using a synthetic SQLite database.

PostgreSQL specifics

How do I connect with verify-full?

Set SSL mode to verify-full and choose the server's root certificate file in the SSL root cert field. The connection fails if the certificate does not match the host, which is the point.

Can I tunnel through a bastion host?

Yes. Turn on the SSH tunnel, enter the SSH host, port and user, and pick key or password authentication. The database host and port are then resolved from the far side of the tunnel.

Does it work with Supabase?

Yes, with a dedicated preset for the direct, session pooler and transaction pooler hosts. See the Supabase page.

Is it free?

plainDB has a 14-day trial with no card required. Continued use requires a one-time full-version license for up to three Mac or Windows computers. See current regional prices and update terms; this is not an unlimited free edition.

Connect to PostgreSQL with plainDB.

The PostgreSQL connection guide walks through every field, including SSL and the SSH tunnel.

Practical guides