Subject: Connection Timeout Issue due to intermittent non-response of Postgre database

From: 이상원 <[email-masked]>
Date: Sat, 4 Nov 2023 20:41:13 +0900

Hi. Guru...

We are currently applying and testing Postgre Database version 16.0 in the
web application. The technology stack of the web application is as follows.

- DB OS: Rocky Linux 9.2
- Spring 5.0 Framework (not Spring Boot)
- Java: OpenJDK 17
- WAS: Tomcat 9.0

The Postgre database does not respond intermittently, causing a connection
timeout in the Spring Framework. There is no regularity in the occurrence
of connection timeouts and they do not repeat continuously. Not easy to
track.

Do you have any experience with cases like this? If you have experience, we
need your help to solve the problem.

First, I will try to downgrade to version 15.4 to determine whether it is a
software problem or a network and server environment.

---

From: Tom Lane <[email-masked]>
Date: Sat, 04 Nov 2023 11:33:06 -0400

> of connection timeouts and they do not repeat continuously. Not easy to

I'd try turning on statement logging, and maybe also statement duration
logging, and then matching up the times of observed client-side outages
with what's happening according to the postmaster log.  Connection
and disconnection logging might be useful too.

A likely bet about the root cause is an unreasonably short connection
timeout in some network infrastructure between your client and the
database server.  That would manifest as both sides reporting that the
other side disconnected (not necessarily at the same time, but for the
same connection).  If so, it could likely be cured by adjusting the
database's TCP keepalive settings.  But you ought to gather data
first.

			regards, tom lane

---

From: 이상원 <[email-masked]>
Date: Mon, 6 Nov 2023 09:45:00 +0900

Thanks, I'll check it out. then, I will update to all.

---

From: Dave Cramer <[email-masked]>
Date: Wed, 8 Nov 2023 11:50:18 -0500

>> database's TCP keepalive settings.  But you ought to gather data
I would have to agree that it is very likely a network issue.

Dave