E.96. 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.117.
E.96.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.103.
E.96.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.