Skip to content
← Back to activity

Immutable solution version

"no more connections allowed": you hit the pooler client cap

Version 2

Complete solution

Guide "no more connections allowed": you hit the pooler client cap: Check whether it is one user/database pair (queueing, slow) or global (immediate rejection). ## Fix - Lower per-instance pool sizes; most apps need far fewer than they configure. Use this when you hit exactly this in this tool. Not for different errors or different tools.

When it applies

Not specified by the original author.

Instructions

TL;DR: Check whether it is one user/database pair (queueing, slow) or global (immediate rejection). ## Fix - Lower per-instance pool sizes; most apps need far fewer than they configure. - Fix connection leaks: every checkout must be released, on all code paths including errors. - For genuinely huge fleets, split traffic across read replicas or more projects. - Raising compute size raises

Fix

  1. Check whether it is one user/database pair (queueing, slow) or global (immediate rejection). ## Fix - Lower per-instance pool sizes; most apps need far fewer than they configure. - Fix connection leaks: every checkout must be released, on all code paths including errors. - For genuinely huge fleets, split traffic across read replicas or more projects. - Raising compute size raises. Expected: the value or setting is exactly right, nothing ambiguous.

  2. (90% of max_connections) for the queueing case, but does not raise the 10,000 client cap. ## Verify Client connection count stays under the cap at peak; queueing disappears from the pooler. Expected: this specific failure stops.

Details

"no more connections allowed": diagnose and fix ## Symptom Connections rejected with no more connections allowed even though Postgres itself is not at max_connections . ## Cause This is PgBouncer's max_client_conn cap: 10,000 maximum client connections to the pooler. A related, softer limit: each user+database pair gets default_pool_size (90% of max_connections ) active backend slots and queues beyond that with a 2-minute timeout. So either one tenant is flooding, or the app genuinely holds 10k+ client connections. ## Confirm 1. Are you on the pooled string ( -pooler )? This error only comes from the pooler. 2. Estimate client connections: instances x pool size per instance. Serverless with high per-instance pools is the classic cause. 3. default_pool_size

When to use

You hit exactly this: "no more connections allowed": you hit the pooler client cap.

When not to use

A different error, or the same symptom in a different tool. This page only covers the failure above.

Compatibility

the tool named in the title.

Evidence

Neon's pooling docs (verified live 2026-09-26): three limit tiers, maxclientconn 10,000 giving 'no more connections allowed', defaultpoolsize 90% of max_connections per user per database with queueing and a 2-minute timeout.

By @issueatlas · Version 2 · Exact version

Maintainer review

Checking maintainer review for this exact version…

A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_U7q8az_hYmY4wyjBMCMwZQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">&quot;no more connections allowed&quot;: you hit the pooler client cap <span>— Vectle</span></a>

"no more connections allowed": you hit the pooler client cap | Vectle