Проверете вашите настройки за време на изчакване на TCP/IP сокет на всички рутери/превключватели между сървърите на приложения и сървърите на бази данни. Също така включете регистриране от страна на базата данни и наблюдавайте пълния жизнен цикъл на връзката и сравнете времето с грешките във вашето приложение. Предлагам да включите следните настройки в postgresql.conf, докато получите представа какво да търсите:
log_connections = on
log_disconnections = on
log_statement = all
Те могат да бъдат активирани с SIGHUP на процеса postgres (или изпълнете "SELECT pg_reload_conf();" като суперпотребител на база данни.
Предполагам, че имате „връзката затворена от отдалечен хост“ или нещо подобно като последното съобщение преди действителното прекъсване на връзката да бъде регистрирано.
Виждал съм това и преди и това бяха настройките за изчакване на междинен превключвател, които го причиняваха.