Sure, just read all the things e.g. HikariCP does:
Now, check out the source code of PGConnectionPoolDataSource:
Specifically, getConnection:
public Connection getConnection(@Nullable String user, @Nullable String password)
throws SQLException {
try {
Connection con = DriverManager.getConnection(getUrl(), user, password);
if (LOGGER.isLoggable(Level.FINE)) {
LOGGER.log(Level.FINE, "Created a {0} for {1} at {2}",
new Object[] {getDescription(), user, getUrl()});
}
return con;
} catch (SQLException e) {
LOGGER.log(Level.FINE, "Failed to create a {0} for {1} at {2}: {3}",
new Object[] {getDescription(), user, getUrl(), e});
throw e;
}
}
You will immediately see that it is not an actual ConnectionPool.
Now, there's the deprecated PGPoolingDataSource, which says:
Don't use this if your server/middleware vendor provides a connection pooling implementation which interfaces with the PostgreSQL ConnectionPoolDataSource implementation
So, with this information, I'm positive you can make an informed decision about what to do?
Anyway. None of this is jOOQ specific. You'll do the same thing if you're using jOOQ, Hibernate, JDBC directly, MyBatis, or whatever.