Jest to kolejny wariant ścisłych problemów z rzutowaniem w PostgreSQL, które współdziałają ze sterownikami klienta i ORM-ami, które wysyłają wszystko, czego nie rozumieją, jako String.
Musisz użyć setObject z Types.OTHER , IIRC.
ps.setObject(2, foos.get(i).getName(), Types.OTHER);
który PgJDBC powinien wysłać jako parametr wiązania typu unknown . Ponieważ pracujesz bezpośrednio z PgJDBC, na szczęście jest to dla ciebie łatwe; to prawdziwy ból, gdy ludzie używają warstw ORM.
Zobacz:
- Postgres typu Macaddr/Inet w wersji slick
- Mapowanie kolumny postgreSQL JSON na typ wartości Hibernate
- https://www.postgresql. id-wiadomości/przykład@sqldat.comom
w tle.