Project unhealthy, disk full, FATAL 57P03 "not accepting connections" (Free plan, eu-west-3) #50989
Unanswered
nijatahmadzada
asked this question in
Questions
Replies: 1 comment
|
Your plan looks right to me, and it explains why the batched deletes backfired: every delete is written to the WAL first, and the space isn't given back until a vacuum, so deleting on a nearly full disk uses more disk before it frees any. TRUNCATE drops the files outright, so it's the better move. Since the instance won't accept connections, bringing it back is on Supabase's side, so I'd also open a ticket from the dashboard's Support page with the project ref and the 57P03 error if you haven't already. A few things for after it's back:
Docs: https://supabase.com/docs/guides/auth/auth-anonymous and https://supabase.com/docs/guides/platform/database-size |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Project ref: kphknfkbeajxgitnaclj (eu-west-3, Free plan, Nano)
The project went into read-only mode a few days ago. The database is 1.5 GB and
almost all of it is auth bookkeeping: a crawler that renders JavaScript kept
triggering anonymous sign-ins, which left 1.1M rows in auth.users, auth.sessions,
auth.refresh_tokens and auth.mfa_amr_claims. Only 23 accounts are real.
I disabled read-only mode from the dashboard and started deleting the empty
anonymous users in batches of 5,000 so the database would get back under the
limit. After about 15,000 rows the disk went from 95% to 100% and the database
stopped accepting connections:
FATAL: 57P03 the database system is not accepting connections
Hot standby mode is disabled.
The project now shows Status: Unhealthy, Disk 97%, "Conns Unavailable". I have
not paused or restarted it, and I am not connecting to it any more.
Could you help bring the instance back up? Once it accepts connections I only
need one statement, which frees about 1 GB instantly with almost no WAL:
truncate table auth.refresh_tokens, auth.sessions, auth.mfa_amr_claims;
After that the database drops well under the Free plan limit and stays there —
the application no longer creates an anonymous user on page load, and the
crawler is blocked in robots.txt.
All reactions