orders-api intermittently reports remaining connection slots are reserved while PostgreSQL CPU stays low.
Measure connection pressure by application and state before increasing any limit.
Try: psql -c 'select application_name,state,count(*) from pg_stat_activity group by 1,2;'
PostgreSQL has connection headroom again.
The API pool is bounded across replicas and abandoned transactions are no longer accumulating.
Lesson
Treat database connections as a shared capacity budget. Size pools across all replicas, preserve operator headroom, and use transaction timeouts as a guardrail—not as a substitute for fixing transaction lifecycle bugs.
Edit configmap/orders-api-db
Bound the pool per replica and ensure abandoned transactions are closed.