Ryšio telkinimas pakartotinai naudoja mažą duomenų bazės ryšių rinkinį daugybei kliento užklausų, užuot atidarant naują ryšį kiekvienai užklausai. PostgreSQL ryšiai yra brangūs (kiekvienas yra atskiras procesas, naudojantis daug atminties), todėl telkinimas yra būtinas dėl našumo ir mastelabilumo esant apkrovai. PgBouncer yra standartinis telkintojas.
Problema: PostgreSQL ryšiai yra brangūs
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.
