Contributed by johan on from the fork-over-threads dept.
shortly the PostgreSQL port in OpenBSD will be updated from version 8.2.6 to 8.3.1. This is a major update and you have to dump your databases before update and restore them afterwards.
** DUMP AND RESTORE IS NEEDED **
But there is more to look after: Versions of PostgreSQL prior to 8.3.x had a feature (or bug...) "implicit typecast". Functions that expect an argument to be of a certain type would cast a variable of any other type to the expected type, if possible.
E.g. the function now() returns a date and time, but not a 'text' variable. But an expression like "substr(now(), 1, 5)" was valid, because the result of "now()" was implicitely cast to "::text".
With PostgreSQL 8.3.x, this is no longer the case. Implicit typecasts are gone. You have to explicitely cast to the right type, above example would have to be written as "substr(now()::text, 1, 5)".
If you make use of functions or use PL/PGSQL, watch out for such constructs.
It is, however, unlikely that you run into trouble, from the applications simon@ and I looked at, we found only one that was affected by this and the problem was fixed in about ten minutes.
NB: the update is not yet committed. This is an _advance_ information so that you don't forget to dump/restore your databases. See this as a gentle reminder ;P
(The update to 8.3.1 was mostly prepared by simon@ and tested by him and me.)
(Comments are closed)