Возможно ли, что эти соединения уже были закрыты? Например, Windows не сразу закрывает соединение, но меняет его состояние на «TIME_WAITING.
Таким образом, соединения отображаются в netsat, но фактически закрыты.
Только те, которые отображаются как «ESTABLISHED», являются «живыми» соединениями.
Кстати: вы можете просто разместить пул соединений перед вашим сервером PostgreSQL, не меняя приложение. pgPool (или pgBouncer) сделает вид, что они являются настоящим сервером PostgreSQL для приложения, и сделает пул "за его спиной"