You'd have a lot better luck sending it to the pgsql-jdbc list. That being said. setObject can be told what type to use, although we should be able to infer the type from the object passed in. Can you file a bug on github https://github.com/pgjdbc/pgjdbc
I am using PostgreSQL 9.3.19 on a 64 bit Linux box with postgresql-42.1.4.jar and 64 bit Java 8.
I am doing setObject with ZonedDateTime.now(ZoneOffset.UTC) and I get:
org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of java.time.ZonedDateTime. Use setObject() with an explicit Types value to specify the type to use.
What I am trying to do is set the column to the current datetime UTC.