I should have been more explicit. My main issue is with the following statement from the link that you posted:
> A key limitation of the JDBC driver is that it cannot receive asynchronous notifications and must poll the backend to check if any notifications were issued
Polling is much less efficient than event handling and I'm sure that there's a major performance hit with that.
Isn't that addressed here?:
// If this thread is the only one that uses the connection, a timeout can be used to // receive notifications immediately: // org.postgresql.PGNotification notifications[] = pgconn.getNotifications(10000);
It "helps", but it's still not the same as keeping the connection open and receiving messages in real time.
Looking at the documentation of pgjdbc-ng [1] it looks quite impressive. I'm thinking to try it out and possibly even try to benchmark it for performance against the official JDBC driver.