Esta es otra variante más de los estrictos problemas de transmisión en PostgreSQL que interactúan con los controladores del cliente y los ORM que envían todo lo que no entienden como String.
Necesitas usar setObject con Types.OTHER , IIRC.
ps.setObject(2, foos.get(i).getName(), Types.OTHER);
que PgJDBC debe enviar como un parámetro de enlace de tipo unknown . Debido a que está trabajando con PgJDBC directamente, esto es fácil de manejar para usted, afortunadamente; es un verdadero fastidio cuando las personas usan capas ORM.
Ver:
- Macaddr/Inet tipo de postgres en slick
- Asignación de columna JSON de postgreSQL al tipo de valor de Hibernate
- https://www.postgresql.org/ id-mensaje/ejemplo@sqldat.comom
para el fondo.