Supabase Max Client Connections Reached
Workaround available Web, server (all SDKs) Updated October 21, 2026
Quick answer
The app opened more connections than your compute size or pooler allows. Switch to the transaction pooler (port 6543), lower the client connection limit, or upgrade compute.
Most likely fix: Use the transaction pooler on port 6543.
Symptoms
Errors like 'Max client connections reached', 'too many connections for role', 'remaining connection slots are reserved' or EMAXCONNSESSION, often under load or from serverless functions.
Why it happens
- Serverless functions (Vercel, Lambda, Edge) each open new connections
- Session mode pooler (port 5432) capped by Pool Size, e.g. 15
- Compute limit reached (Micro: 60 direct / 200 pooler)
- Connections not closed by ORM or app
How to fix it
Try these in order — the most common fix is first.
1. Use the transaction pooler on port 6543
- Dashboard > Connect > choose Transaction pooler
- Replace your DATABASE_URL with that string
- Disable prepared statements in your client (transaction mode doesn't support them)
2. Limit connections per client
- For Prisma add connection_limit=1 to the URL for serverless
- Set a small pool size in node-postgres/Drizzle
- Close connections when done
3. Raise Pool Size for session mode
- Database Settings > Connection pooling
- Increase Pool Size within your compute limit
4. Check pooler logs
- Dashboard > Logs > Pooler
- Look for the client or role creating too many connections
5. Upgrade compute
- Project Settings > Compute and Disk
- Small allows 90/400 connections, Medium 120/600, Large 160/800
This guide also covers
- supabase max client connections reached
- supabase too many connections
- supabase connection pool
- supavisor connection limit
Still not working?
If Supabase keeps failing, you're not alone. See every Supabase problem users report or the alternatives people switch to.
Other Supabase errors
- Supabase Project Paused
- Supabase 'New Row Violates Row-Level Security Policy' Error
- Supabase Confirmation Email Not Sending
- Supabase Auth Redirects to Localhost
- Supabase 'Invalid Refresh Token: Refresh Token Not Found'
- Supabase Edge Function 546 WORKER_LIMIT Error
- Supabase Storage Upload Failed
- Supabase 'Canceling Statement Due to Statement Timeout'
- Supabase Realtime Not Working
- Supabase Database Connection 'Network Is Unreachable'
- Supabase Start Not Working (Docker Container Unhealthy)