Neon says your compute hit its limit, or the first query is slow
Both come from the same design. Neon bills compute by the hour and turns idle computes off. On the Free plan a project gets 100 CU-hours a month, and a compute that runs out is suspended until the next billing period or an upgrade.
Last checked October 8, 2026.
Compute limit reached: what it means
Neon Free gives each project 100 CU-hours of compute a month. A CU-hour is compute size times hours running, so 100 CU-hours runs a 0.25 CU compute for about 400 hours. Every compute counts: each branch has its own read-write compute, and read replicas add more.
When the allowance is used up, the compute is suspended until the next billing period or until you upgrade. Existing connections drop and new ones fail. Your data is not deleted.
| Compute size | Hours of running time | About |
|---|---|---|
| 0.25 CU | 400 h | 16 days of 24/7 |
| 0.5 CU | 200 h | 8 days of 24/7 |
| 1 CU | 100 h | 4 days of 24/7 |
| 2 CU | 50 h | 2 days of 24/7 |
Sources: Neon: Plans, Neon: Free plan limits FAQ
Fixes for running out
- Find the compute that never sleeps. Anything that queries every few minutes (health checks, cron jobs, an ORM keeping a pool warm, a monitoring tool) keeps scale to zero from ever kicking in.
- Delete branches you no longer use; each one with a running compute spends hours.
- Cap autoscaling at a smaller maximum size; a compute that scales to 2 CU spends hours eight times faster than one at 0.25 CU.
- Upgrade: the Launch plan bills compute at $0.106 per CU-hour instead of suspending.
Sources: Neon: Plans
Cold starts: why the first query is slow
On the Free plan a compute scales to zero after 5 minutes of inactivity, and that setting cannot be changed. The next connection wakes it; Neon says this takes a few hundred milliseconds, so the first query pays that on top of its own time.
Suspension also resets session state: temporary tables, prepared statements and in-memory statistics are gone. A long-lived connection that was open during suspension gets "terminating connection due to administrator command" and has to reconnect.
Sources: Neon: Scale to zero, Neon: Configuring scale to zero, Neon: Connection errors
Fixes for cold starts
- Let your client retry the connection once. Most drivers and pools can reconnect on "terminating connection due to administrator command"; make sure yours does.
- Use the pooled (-pooler) hostname for app traffic so many short requests share server connections, and keep connection timeouts above a second.
- On a paid plan, lengthen the idle timeout or turn scale to zero off for the production branch. Computes larger than 16 CU never scale to zero.
- Do not keep a Free compute awake with a pinger: it spends the same CU-hours you are trying to save.
Sources: Neon: Scale to zero, Neon: Connection pooling
How Scribase prices compute
A Scribase project is $25 a month and each environment includes 750 compute hours, more than the roughly 730 hours in a month, so a database left on all month stays inside it. Idle environments still scale to zero to save energy and wake on the next request, but you are not counting hours to stay online.
Scribase keeps Neon-style branching: copy-on-write branches with their own URL and keys, branches from a point in time, and an HTTP serverless driver. On top, each project has the Supabase API (Auth, Storage, Realtime, REST).
Sources: Scribase pricing
Questions people ask
Does Neon delete my data when the compute limit is reached?
No. Neon says none of the Free plan limits delete data; the compute is suspended until the next billing period or an upgrade.
How long is a Neon cold start?
Neon documents reactivation within a few hundred milliseconds. Your first query also has to open a new connection, so measure it from your own region.
Can I turn off scale to zero on Neon Free?
No. On the Free plan it is fixed at 5 minutes. Paid plans can change the timeout or disable it.
Why does pg_dump fail on my Neon pooled connection?
pg_dump uses SET statements, which transaction pooling does not keep. Use the direct hostname without -pooler.