Bağlantı havuzlaması, her istek için yeni bir bağlantı açmak yerine, küçük bir veritabanı bağlantıları kümesini birçok istemci isteği arasında yeniden kullanır. PostgreSQL bağlantıları pahalıdır (her biri ayrı bir işlem olup önemli miktarda bellek kullanır), bu nedenle havuzlama yük altında performans ve ölçeklenebilirlik için gereklidir. PgBouncer standart pooler'dır.
PostgreSQL bağlantıları pahalıdır: The problem
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.
