E.181. Release 8.2.21
Release date: 2011-04-18
This release contains a variety of fixes from 8.2.20. For information about new features in the 8.2 major release, see Section E.202 .
E.181.1. Migration to Version 8.2.21
A dump/restore is not required for those running 8.2.X. However, if you are upgrading from a version earlier than 8.2.14, see Section E.188 .
E.181.2. Changes
-
Avoid potential deadlock during catalog cache initialization (Nikhil Sontakke)
In some cases the cache loading code would acquire share lock on a system index before locking the index's catalog. This could deadlock against processes trying to acquire exclusive locks in the other, more standard order.
-
Fix dangling-pointer problem in
BEFORE ROW UPDATE
trigger handling when there was a concurrent update to the target tuple (Tom Lane)This bug has been observed to result in intermittent " cannot extract system attribute from virtual tuple " failures while trying to do
UPDATE RETURNING ctid
. There is a very small probability of more serious errors, such as generating incorrect index entries for the updated tuple. -
Disallow
DROP TABLE
when there are pending deferred trigger events for the table (Tom Lane)Formerly the
DROP
would go through, leading to " could not open relation with OID nnn " errors when the triggers were eventually fired. -
Fix PL/Python memory leak involving array slices (Daniel Popowich)
-
Fix pg_restore to cope with long lines (over 1KB) in TOC files (Tom Lane)
-
Put in more safeguards against crashing due to division-by-zero with overly enthusiastic compiler optimization (Aurelien Jarno)
-
Support use of dlopen() in FreeBSD and OpenBSD on MIPS (Tom Lane)
There was a hard-wired assumption that this system function was not available on MIPS hardware on these systems. Use a compile-time test instead, since more recent versions have it.
-
Fix compilation failures on HP-UX (Heikki Linnakangas)
-
Fix path separator used by pg_regress on Cygwin (Andrew Dunstan)
-
Update time zone data files to tzdata release 2011f for DST law changes in Chile, Cuba, Falkland Islands, Morocco, Samoa, and Turkey; also historical corrections for South Australia, Alaska, and Hawaii.