Subject: [pgjdbc/pgjdbc] issue #3938: Documentation is conflicting if the drier is thread safe.

From: "strelec (@strelec)" <[email-masked]>
Date: Thu, 12 Feb 2026 11:37:53 +0000

Here it says that it is okay to reuse the connection from multiple thread, as long as you create a new Statement in every thread: https://jdbc.postgresql.org/documentation/query/

This was my experience as well, I was using it in this manner and never got any data corruption or exceptions.

> If you are using threads, and several are using the database, you must use a separate Statement for each thread. Refer to [Using the Driver in a Multithreaded or a Servlet Environment](https://jdbc.postgresql.org/documentation/thread/) if you are thinking of using threads, as it covers some important points.

Then on the provided link it says the drier is not thread safe at all, and it does not cover any important points as it was promised: https://jdbc.postgresql.org/documentation/thread/

Which is it?

---

From: "davecramer (@davecramer)" <[email-masked]>
Date: Thu, 12 Feb 2026 11:57:42 +0000

Well in general since PostgreSQL is not threaded the driver is not thread-safe. 
Each connection should have it's own thread.