Release 8.4.1
| PostgreSQL 9.3.25 Documentation | ||||
|---|---|---|---|---|
| Prev | Up | Appendix E. Release Notes | Next | |
Release date: 2009-09-09
This release contains a variety of fixes from 8.4. For information about new features in the 8.4 major release, see Section E.123 .
E.122.1. Migration to Version 8.4.1
A dump/restore is not required for those running 8.4.X.
E.122.2. Changes
- 
    Fix WAL page header initialization at the end of archive recovery (Heikki) This could lead to failure to process the WAL in a subsequent archive recovery. 
- 
    Fix "cannot make new WAL entries during recovery" error (Tom) 
- 
    Fix problem that could make expired rows visible after a crash (Tom) This bug involved a page status bit potentially not being set correctly after a server crash. 
- 
    Disallow RESET ROLE and RESET SESSION AUTHORIZATION inside security-definer functions (Tom, Heikki) This covers a case that was missed in the previous patch that disallowed SET ROLE and SET SESSION AUTHORIZATION inside security-definer functions. (See CVE-2007-6600) 
- 
    Make LOAD of an already-loaded loadable module into a no-op (Tom) Formerly, LOAD would attempt to unload and re-load the module, but this is unsafe and not all that useful. 
- 
    Make window function PARTITION BY and ORDER BY items always be interpreted as simple expressions (Tom) In 8.4.0 these lists were parsed following the rules used for top-level GROUP BY and ORDER BY lists. But this was not correct per the SQL standard, and it led to possible circularity. 
- 
    Fix several errors in planning of semi-joins (Tom) These led to wrong query results in some cases where IN or EXISTS was used together with another join. 
- 
    Fix handling of whole-row references to subqueries that are within an outer join (Tom) An example is SELECT COUNT(ss.*) FROM ... LEFT JOIN (SELECT ...) ss ON ... . Here, ss.* would be treated as ROW(NULL,NULL,...) for null-extended join rows, which is not the same as a simple NULL. Now it is treated as a simple NULL. 
- 
    Fix Windows shared-memory allocation code (Tsutomu Yamada, Magnus) This bug led to the often-reported "could not reattach to shared memory" error message. 
- 
    Fix locale handling with plperl (Heikki) This bug could cause the server's locale setting to change when a plperl function is called, leading to data corruption. 
- 
    Fix handling of reloptions to ensure setting one option doesn't force default values for others (Itagaki Takahiro) 
- 
    Ensure that a "fast shutdown" request will forcibly terminate open sessions, even if a "smart shutdown" was already in progress (Fujii Masao) 
- 
    Avoid memory leak for array_agg()in GROUP BY queries (Tom)
- 
    Treat to_char(..., 'TH')as an uppercase ordinal suffix with 'HH' / 'HH12' (Heikki)It was previously handled as 'th' (lowercase). 
- 
    Include the fractional part in the result of EXTRACT(second)andEXTRACT(milliseconds)for time and time with time zone inputs (Tom)This has always worked for floating-point datetime configurations, but was broken in the integer datetime code. 
- 
    Fix overflow for INTERVAL ' x ms' when x is more than 2 million and integer datetimes are in use (Alex Hunsaker) 
- 
    Improve performance when processing toasted values in index scans (Tom) This is particularly useful for PostGIS . 
- 
    Fix a typo that disabled commit_delay (Jeff Janes) 
- 
    Output early-startup messages to postmaster.log if the server is started in silent mode (Tom) Previously such error messages were discarded, leading to difficulty in debugging. 
- 
    Remove translated FAQs (Peter) They are now on the wiki . The main FAQ was moved to the wiki some time ago. 
- 
    Fix pg_ctl to not go into an infinite loop if postgresql.conf is empty (Jeff Davis) 
- 
    Fix several errors in pg_dump 's --binary-upgrade mode (Bruce, Tom) pg_dump --binary-upgrade is used by pg_migrator. 
- 
    Fix contrib/xml2 's xslt_process()to properly handle the maximum number of parameters (twenty) (Tom)
- 
    Improve robustness of libpq 's code to recover from errors during COPY FROM STDIN (Tom) 
- 
    Avoid including conflicting readline and editline header files when both libraries are installed (Zdenek Kotala) 
- 
    Work around gcc bug that causes "floating-point exception" instead of "division by zero" on some platforms (Tom) 
- 
    Update time zone data files to tzdata release 2009l for DST law changes in Bangladesh, Egypt, Mauritius.