E.168. Release 8.4.1
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.169 .
E.168.1. Migration to Version 8.4.1
A dump/restore is not required for those running 8.4.X.
E.168.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
andRESET SESSION AUTHORIZATION
inside security-definer functions (Tom, Heikki)This covers a case that was missed in the previous patch that disallowed
SET ROLE
andSET 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
andORDER 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
andORDER 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
orEXISTS
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 asROW(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()
inGROUP 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)
fortime
andtime 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 '
whenx
ms'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
'sxslt_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.