pgjumbo in 60 seconds 1 min
What the film shows
  1. Know what it touches before it runs.
  2. The PostgreSQL client that shows its work.
  3. Automatic savepoints. A failed statement undoes only itself.
  4. Careful by design.
  5. See what a change locks before you save. And a safer way, when there is one.
  6. Try an index before you build it. Nothing runs. No index is built.
  7. A second look on Production.
  8. Rehearse it. Nothing is committed until you say.
  9. Edit in the grid. Save in one transaction. Only if every row is still as you read it.
  10. Know what's deployed where. Flyway, Prisma, Drizzle and more.
  11. The Assistant proposes. You decide. It reads only what you allow.
  12. Free for macOS, Windows and Linux. pgjumbo.com

The PostgreSQL client that shows its work

Before a write or a table change runs, pgjumbo tells you what it will touch, lock and cost.

Download Read the guide

Put the cursor in an UPDATE or a DELETE: pgjumbo counts the rows, names the triggers and the cascades, and offers Rehearse. Before a statement runs

A DELETE in the Query Tool. Above it, pgjumbo writes: about 13 rows in public.orders, fires 1 trigger, deletes its rows in public.order_items, with the buttons Rehearse and Run.

Undo what you didn't mean

Rehearse a write

It runs without committing and shows every row it changed, old beside new. Commit keeps it, with a script that undoes it; Roll Back leaves every table as it was.

An UPDATE rehearsed: the Rehearsal tab says 13 rows changed inside a transaction, nothing committed, with Roll Back and Commit, and each row's status shows pending struck through beside void.

A failed statement undoes only itself

Each statement gets its own savepoint, so one error does not cost the rest of the transaction.

  • Auto-commit
  • Smart commit
  • Manual commit

Three ways to commit

Smart commit begins a transaction at your first write, so reads commit by themselves and never hold one open.

See the whole transaction

Every statement of the open transaction, what it did and the locks it holds. Roll back to any one of them.

The Transaction tab of an open transaction: an UPDATE, the savepoint before_cleanup, a DELETE, each with its locks and Roll back to here, and a SELECT that failed and was undone alone.

Your migrations, read where they ran

pgjumbo finds what Prisma, Flyway, Rails, Django and eight other tools applied on Dev, Staging and Production, side by side. It never runs one.

Migrations across environments: the shop database's Prisma migrations on a Dev, a Staging and a Production server side by side, with a failed one and three not applied.
Before you deploy
Link your project's folder to see what is still pending, and what each statement will lock on this server.
The traps
A rename that lost data, a NOT NULL column with no default, an enum made again: each one flagged on its migration.
Prisma
Drift against schema.prisma, and a change made in a table's tab saved as a migration instead of run.
Migrations in the guide

Find out why it's slow. Try the fix first.

Each step of the plan is tied to the SQL it comes from, with the slowest one marked.

  • What if Try an index that does not exist yet, or a planner setting, and compare the two plans without changing the server.
  • Plans in production Above a statement: how often it runs on the server, how long it takes, and whether its plan changed since its fastest run.
  • Run with Profiler Line by line, where the time went inside the PL/pgSQL functions a query called.
A query plan drawn as a diagram, with the slowest step marked.
The Assistant pane beside a query, where it has answered why the query is slow and proposed an index.

An Assistant that asks before it reads

It runs the Claude Code you already use, signed in to your own Claude plan or API key. You choose what it may read on each kind of server, and every read shows. It stays off until you turn it on.

What it may read, as pgjumbo starts
Read Dev Staging Production
Structure AllowAllowAllow
Statistics AllowAllowAllow
Query text AllowAllowAsk
Row data AskAskEvery time
Repositories AllowAllowAsk

SQL it suggests is checked by PostgreSQL's own parser before you see it. Nothing runs until you run it.

Set up the Assistant

And the rest of the job

At home on your desktop

macOS, Windows and Linux
One app for Apple silicon and Intel. x64 and ARM64 on Windows and Linux.
Keys you already know
Start from SSMS's, DataGrip's or pgAdmin's shortcuts, or turn on Vim keys in the editor.
Several windows
Put two tabs side by side, or give any tab a window of its own, its session untouched.
The guide on F1
Built into the version you run, it works with no internet connection, and Show me rings the control it names.
Two Query Tool tabs side by side, one on large orders and one on customers, each with its results.

Free for macOS, Windows and Linux

No analytics and no telemetry. It updates itself when you say so.

Connects to PostgreSQL 14 to 18 (12 and 13 as best effort), Amazon RDS and Aurora with IAM sign-in, and servers behind SSH, in every TLS mode.