Short answer
Check disk usage on the project’s Infrastructure page. On the Free plan the disk is a fixed 2 GB, so delete data you don’t need or upgrade. On a paid plan the disk grows on its own at 90%, but only four times in a rolling 24 hours, so a fast-growing database can still hit 95%; increase the disk size yourself. To delete data while read-only, Supabase documents a session override that turns writes back on for that session.
Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.
Why the database went read-only, and the fix
01
The disk passed 95%
“When disk usage reaches 95%, Supabase puts your database into read-only mode” Supabase, Database size
Read-only mode protects the database: writes are blocked and fail with “cannot execute INSERT in a read-only transaction”, so the app can look fine until someone tries to save. On paid plans it happens once autoscaling has used its changes for the day. Free space or add disk to bring writes back.
02
The Free plan disk is full
“Free Plan projects have a fixed disk size of 2 GB.” Supabase, Database size
Free projects don’t grow their disk. Delete rows or tables you don’t need, or upgrade to a paid plan for a larger, autoscaling disk.
03
Autoscaling ran out of changes
“Autoscaling is limited to four modifications within a rolling 24-hour window.” Supabase, Database size
On paid plans the disk grows at 90%, but a large import or a burst of writes can use up the day’s changes. Increase the disk size on the Database Settings page (a manual increase can be made once every four hours), and give it room before the next big import.
04
You need writes back to delete data
“You can manually override read-only mode to reduce disk size.” Supabase, Database size
Run this in the SQL editor to turn writes back on for your session only, then delete what you don’t need and run a vacuum, because deleting alone may not lower the reported disk usage straight away. The rest of the app stays read-only until disk usage drops below 95%.
set session characteristics as transaction read write;05
Find what is using the space
“You can check the distribution of your disk size on your project's Infrastructure page” Supabase, Database size
Data, indexes and the database’s change logs all count toward the disk. Check the breakdown before deleting anything, so you remove the part that grew.
Checked against the vendor’s docs on : Supabase docs: Database size.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
Related: Supabase project paused · Supabase bill spike · Supabase app slow · Supabase too many connections