O pool de conexões Npgsql é implementado dentro do seu processo de aplicação - não tem nada a ver com o PostgreSQL, que o ignora completamente.
O mecanismo é muito simples. Quando você fecha uma conexão em pool, em vez de fechar fisicamente a conexão com o PostgreSQL, a conexão física é mantida ociosa na memória (em um "pool"). Na próxima vez que você abrir uma nova conexão, se sua cadeia de conexão corresponder a uma conexão física já presente no pool, essa conexão física será reutilizada em vez de abrir uma nova conexão física.
Como abrir/fechar conexões físicas é um processo caro, isso acelera consideravelmente seu aplicativo.