I have a dedicated DB Server with Debian Jessie and Postgresql 9.4
Client: A is a Tomcat Java app which use torque with a JDBC driver connecting to the DB Server.
Issue: on Updating a row with a new value the update fails because the app transfers the wrong datatype.
Error message:
column "device_macaddr" is of type macaddr but expression is of type character varying at character 159
Update Statement generated by Torque:
UPDATE device SET device_last_change = $1, device_macaddr = $2 WHERE device_ID = $3
Definition of Datatypes in postgresql :
last_change is timestamp (0) without time zone NOT NULL
device_macaddr is macaddr NOT NULL
device_id is bigint NOT NULL
We recently did update both the DB and the jdbc driver from 8.4 to 9.4
I was able to pinpoint the change to the jdbc driver but was unable to find the changelog which exactly showed this change of behaviour.
Since then the above statement seems to not work anymore, while it previously worked despite being possible the wrong datatype back then as well.
Is there a way to "lessen" the strict detection from the Postgres 9.4 DB Server for that specific case?
I did read the enhancement of the jdbc driver to include those additional datatypes, however this hasn't worked for me yet so I try to get a workaround on the other end of the options i have.
device_macaddr
totext
(orcharacter(xx)
)... Obviously this might have lots of unwanted side effects, depending on whether this is just to "store" values, or to perform some operations on them.$2
in the above execution.