Unified · Split
| @@ -11,16 +11,19 @@ The connection budget is: · 10 unmodified lines | ||
| 11 | 11 | | PostgreSQL max_connections | 50 | |
| 12 | 12 | | PostgreSQL superuser_reserved_connections | 3 | |
| 13 | 13 | | Local PgBouncer processes | 1 | |
| 14 | −| PgBouncer default_pool_size | 12 | | |
| 15 | −| PgBouncer max_db_connections | 12 | | |
| 14 | +| PgBouncer default_pool_size | 20 | | |
| 15 | +| PgBouncer max_db_connections | 20 | | |
| 16 | 16 | | PgBouncer max_client_conn | 400 | |
| 17 | 17 | | PgBouncer max_prepared_statements | 200 | |
| 18 | −| Hyperdrive origin connection limit | 12 (soft limit) | | |
| 18 | +| Hyperdrive origin connection limit | 20 (soft limit) | | |
| 19 | 19 | |
| 20 | 20 | Hyperdrive's origin limit is advisory. PgBouncer's database limit enforces the |
| 21 | 21 | backend budget across users of one database. The cap is per PgBouncer process: |
| 22 | 22 | adding processes, databases, direct clients, or other poolers requires a new |
| 23 | 23 | aggregate budget. Keep capacity for provider sessions, deploys and administration. |
| 24 | +The 20-connection application budget leaves 27 ordinary slots for those clients | |
| 25 | +after the three superuser-reserved slots. This is a concurrency ceiling, not a | |
| 26 | +target for active queries; check CPU, queue waits and latency before raising it. | |
| 24 | 27 | Prepared statements require protocol-level support to remain enabled in PgBouncer. |
| 25 | 28 | |
| 26 | 29 | The migration and membership-readiness scripts retry only the initial `SELECT 1` |