Supabase "read-only transaction" error? The 500 MB Free plan limit

Ship ItChecked against the official source

The short answer

On Supabase's Free plan, projects enter read-only mode when the database size exceeds 500 MB. That's the data itself, not the 1 GB of disk space. After that, every write fails with an error like "cannot execute INSERT in a read-only transaction". There are two ways out: upgrade to Pro for a bigger quota, or free up space in the SQL Editor.

What to do

  1. Check your database size on the Database Reports page.
  2. Option 1: upgrade to the Pro Plan to increase the database size quota.
  3. Option 2, in the SQL Editor, in this order: allow writes for your session with set session characteristics as transaction read write; then delete data and run vacuum;
  4. Then turn read-only mode off with set default_transaction_read_only = 'off';

Good to know

  • The fair-use restriction (402 responses) is based on the average daily database size over the billing period, not the live size.
  • The Postgres SQLSTATE code for this error is 25006.

Source

Checked on 5 Oct 2026. Prices, limits and settings change, so check the source before you rely on them.

Related