کنکشن پولنگ بہت سے کلائنٹ درخواستوں میں ڈیٹابیس کنکشنز کے ایک چھوٹے سیٹ کو دوبارہ استعمال کرتی ہے، بجائے اس کے کہ ہر درخواست کے لیے ایک نیا کنکشن کھولا جائے۔ PostgreSQL کنکشنز مہنگے ہیں (ہر ایک الگ عمل ہے جو نمایاں میموری استعمال کرتا ہے)، لہذا پولنگ کارکردگی اور بوجھ کے تحت توسیع پذیری کے لیے ضروری ہے۔ PgBouncer معیاری pooler ہے۔
مسئلہ: PostgreSQL کنکشنز مہنگے ہیں
Each PostgreSQL connection = a separate OS PROCESS, using ~5-10MB of memory.
✗ Opening a connection has overhead (process creation, auth, setup)
✗ Many connections (e.g. 1000s from a busy app) → huge memory use, contention
✗ Postgres has a max_connections limit (often ~100); exceeding it = errors
→ Opening/closing a connection per request, or holding thousands open, doesn't scale.
