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
- 3 tables have more than 20% dead rowsVacuum
- fsync is onConfiguration
- Standbys keep upReplication
- 1 inactive replication slot is retaining 6.2 GB of WALReplication
- Remote clients use TLSSecurity
- 2 tables have no primary keyTables
- Sequences are far from their maximumSchema
- Transaction ID age is below the limitVacuum
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.
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 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.
Three steps. No install.
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;Paste the connection string
We run the exam over a read-only session with per-query timeouts.
postgres://checkup_reader:••••@
db.example.com:5432/appFix what matters first
Get a ranked report with evidence. Share it with your team.
2 critical · 4 warning · 3 infoSee 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 reportFree to check. $9 to unlock everything.
Pay once per report, not every month.
Free
- What breaks next, and when
- Every finding and why it matters
- Top 3 fixes in full
- First 5 rows of every data table
Full report
- Every finding explained
- Every row of every data table
- Every fix in one .sql file
- PDF, CSV and markdown export
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.