Release date: 2013-10-10
This release contains a variety of fixes from 8.4.17. For information about new features in the 8.4 major release, see Section E.179.
A dump/restore is not required for those running 8.4.X.
However, if you are upgrading from a version earlier than 8.4.17, see Section E.162.
Prevent corruption of multi-byte characters when attempting to case-fold identifiers (Andrew Dunstan)
PostgreSQL case-folds non-ASCII characters only when using a single-byte server encoding.
Fix memory leak caused by
lo_open() failure (Heikki Linnakangas)
Fix memory overcommit bug when
work_mem is using more than 24GB of memory
Fix deadlock bug in libpq when using SSL (Stephen Frost)
Properly compute row estimates for boolean columns containing many NULL values (Andrew Gierth)
Previously tests like
col IS NOT
col IS NOT FALSE did
not properly factor in NULL values when estimating plan costs.
Prevent pushing down
Subqueries of a
INTERSECT that contain set-returning
functions or volatile functions in their
SELECT lists could be improperly optimized,
leading to run-time errors or incorrect query results.
Fix rare case of “failed to locate grouping columns” planner failure (Tom Lane)
Improve view dumping code's handling of dropped columns in referenced tables (Tom Lane)
Fix possible deadlock during concurrent
CREATE INDEX CONCURRENTLY operations (Tom
regexp_matches() handling of
zero-length matches (Jeevan Chalke)
Previously, zero-length matches like '^' could return too many matches.
Fix crash for overly-complex regular expressions (Heikki Linnakangas)
Fix regular expression match failures for back references combined with non-greedy quantifiers (Jeevan Chalke)
CREATE FUNCTION from
SET variables unless function
body checking is enabled (Tom Lane)
pgp_pub_decrypt() so it works
for secret keys with passwords (Marko Kreen)
Remove rare inaccurate warning during vacuum of index-less tables (Heikki Linnakangas)
Avoid possible failure when performing transaction control
ROLLBACK) in prepared
queries (Tom Lane)
Ensure that floating-point data input accepts standard spellings of “infinity” on all platforms (Tom Lane)
The C99 standard says that allowable spellings are
-infinity. Make sure we recognize
these even if the platform's
Expand ability to compare rows to records and arrays (Rafal Rzepecki, Tom Lane)
Update time zone data files to tzdata release 2013d for DST law changes in Israel, Morocco, Palestine, and Paraguay. Also, historical zone data corrections for Macquarie Island.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.