Il pool di connessioni Npgsql è implementato all'interno del processo dell'applicazione:non ha nulla a che fare con PostgreSQL, che ne è completamente all'oscuro.
Il meccanismo è molto semplice. Quando si chiude una connessione in pool, invece di chiudere fisicamente la connessione a PostgreSQL, la connessione fisica viene mantenuta inattiva in memoria (in un "pool"). La prossima volta che si apre una nuova connessione, se la sua stringa di connessione corrisponde a una connessione fisica già presente nel pool, quella connessione fisica viene riutilizzata invece di aprire una nuova connessione fisica.
Poiché l'apertura/chiusura delle connessioni fisiche è un processo costoso, ciò velocizza notevolmente la tua applicazione.