25006

what this Postgres error means

How it shows up

cannot execute INSERT in a read-only transaction

What it means

SQLSTATE 25006 is read_only_sql_transaction: the database only accepts reads right now, so writes fail. On Supabase this code appears when the project has entered read-only mode because of its disk or database size.

The usual cause in an AI-built app

AI-built apps sometimes store images or files as base64 text in table rows, or write a log row on every request. The database grows until a Free Plan project passes its 500 MB database size quota and turns read-only.

Check this first

Open the database usage in your Supabase project dashboard and check whether the database size is at or above your plan's limit.

More Postgres codes