87 checks Read-only Postgres checkups

Know what's wrong
with your Postgres.

Paste a read-only connection string. In about a minute you get every problem ranked by severity, why it matters, and the exact fix. No agent to install, no dashboard to maintain, no subscription.

No signup · Read-only · Free to run

Report · prod-db-01

Works with any PostgreSQL 13+. Provider-aware for Supabase and Neon.

  • PostgreSQL
  • Supabase
  • Neon
  • Google Cloud SQL
  • DigitalOcean
  • Railway
  • Render
  • Amazon RDS
  • Aurora
  • Self-hosted

Logos are trademarks of their respective owners. pg-checkup is not affiliated with or endorsed by them.

Why pg-checkup

Find out what's wrong,
and what to fix first.

pg-checkup answers one question, fast: what's wrong with this database right now, and what should I do first? Every finding comes with the reason it matters and the fix.

Answers in a minute, not after a setup project

Paste a connection string and read the report. There's no agent to install and no history to wait for.

Pay only for the fixes

The free scan shows every problem and why it matters, plus the first three fixes. The full report is $9, once. No subscription, no contract, no minimum.

Understands your provider

On Supabase and Neon, provider-managed roles, schemas and internal traffic are filtered out, so findings are about your workload. Supabase projects also get a check for public tables readable with the anon key.

Every check is public

87 checks, each with the exact threshold that triggers it, listed in the docs. Your report shows what passed as well as what failed, so a clean result means something.

Use pg-checkup when

  • you're about to launch, scale or migrate
  • something went wrong and you want to know why
  • you inherited a database, or want a second opinion
  • you want an answer today, not after a setup project

What it isn't

  • Not 24/7 monitoring or alerting: it's a checkup you run when you need one
  • Not a query-plan tool or a fleet dashboard

Scheduled scans are planned.

When to use it

When a checkup is worth running

Before a launch or a big campaign

Find the connection limit, the missing index and the bloated table before traffic does.

After an incident

See what state the database was really in: locks, long transactions, vacuum, WAL.

You inherited a database

A ranked list of what to fix first, with the reasoning, on day one.

Before a migration or upgrade

Check version support, extensions, sequences near overflow and replication health.

A second opinion for a client or audit

A shareable report with evidence, and a list of everything that passed.

How it works

Three steps. No install.

01

Create a read-only role

One grant of pg_monitor gives statistics access, never your data.

create role checkup_reader login password 'choose-a-password';
grant pg_monitor to checkup_reader;
02

Paste the connection string

We run the exam over a read-only session with per-query timeouts.

postgres://checkup_reader:••••@
  db.example.com:5432/app
03

Fix what matters first

Get a ranked report with evidence. Share it with your team.

2 critical · 4 warning · 3 info

See exactly what you'd get.

A real report from a demo shop database on Neon with planted problems: 3 critical issues, 8 warnings, all 87 checks, and the data behind them. No signup.

Open the sample report
Pricing

Free to check. $9 to unlock everything.

Pay once per report, not every month.

Free

$0
  • What breaks next, and when
  • Every finding and why it matters
  • Top 3 fixes in full
  • First 5 rows of every data table
Run a free checkup

Full report

$9per scan
  • Every finding explained
  • Every row of every data table
  • Every fix in one .sql file
  • PDF, CSV and markdown export
Get a checkup

Scheduled scans

Soon
  • Weekly scans and history
  • Alerts when something changes
Tell us what you'd pay

Questions

Is it safe to point at production?

Yes. Every session is forced read-only, the role only needs pg_monitor (statistics views), and each query has a 15-second timeout. A checkup never reads your table contents.

Do you store my connection string?

No. It's used for one scan, held in memory, and dropped. Your report is kept under an unguessable link for 7 days, or 30 days if you have a free account, and permanently once you unlock it. You can delete your account and reports anytime.

Is this continuous monitoring?

No. It's a point-in-time checkup: run it when something feels off, before a launch, or after an incident. Scheduled scans are planned.

Which databases work?

Any PostgreSQL 13 or newer. Tested on Postgres 17 and a real Supabase project; Neon, RDS and self-hosted are documented in the providers guide.

What does the full report add?

The fix for every finding, with its SQL and evidence, every fix in one .sql file, every row of every data table, a PDF to share, and CSV and markdown export. The free report already shows every finding and why it matters, what breaks next and when, the first three fixes in full, and the first rows of each table.

Find the problems in your database.

Run a free checkup in about a minute.

Run a free checkup