1
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.4.sgml,v 1.12 2009/06/26 22:23:17 tgl Exp $ -->
1
<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.4.sgml,v 1.12.2.3 2009/09/03 22:13:58 tgl Exp $ -->
2
2
<!-- See header comment in release.sgml about typical markup -->
4
<sect1 id="release-8-4-1">
5
<title>Release 8.4.1</title>
8
<title>Release date</title>
9
<simpara>2009-09-09</simpara>
13
This release contains a variety of fixes from 8.4.
14
For information about new features in the 8.4 major release, see
15
<xref linkend="release-8-4">.
19
<title>Migration to Version 8.4.1</title>
22
A dump/restore is not required for those running 8.4.X.
28
<title>Changes</title>
34
Fix WAL page header initialization at the end of archive recovery
39
This could lead to failure to process the WAL in a subsequent
46
Fix <quote>cannot make new WAL entries during recovery</> error (Tom)
52
Fix problem that could make expired rows visible after a crash (Tom)
56
This bug involved a page status bit potentially not being set
57
correctly after a server crash.
63
Disallow <command>RESET ROLE</> and <command>RESET SESSION
64
AUTHORIZATION</> inside security-definer functions (Tom, Heikki)
68
This covers a case that was missed in the previous patch that
69
disallowed <command>SET ROLE</> and <command>SET SESSION
70
AUTHORIZATION</> inside security-definer functions.
77
Make <command>LOAD</> of an already-loaded loadable module
82
Formerly, <command>LOAD</> would attempt to unload and re-load the
83
module, but this is unsafe and not all that useful.
89
Make window function <literal>PARTITION BY</> and <literal>ORDER BY</>
90
items always be interpreted as simple expressions (Tom)
94
In 8.4.0 these lists were parsed following the rules used for
95
top-level <literal>GROUP BY</> and <literal>ORDER BY</> lists.
96
But this was not correct per the SQL standard, and it led to possible
103
Fix several errors in planning of semi-joins (Tom)
107
These led to wrong query results in some cases where <literal>IN</>
108
or <literal>EXISTS</> was used together with another join.
114
Fix handling of whole-row references to subqueries that are within
120
<literal>SELECT COUNT(ss.*) FROM ... LEFT JOIN (SELECT ...) ss ON ...</>.
121
Here, <literal>ss.*</> would be treated as <literal>ROW(NULL,NULL,...)</>
122
for null-extended join rows, which is not the same as a simple NULL.
123
Now it is treated as a simple NULL.
129
Fix Windows shared-memory allocation code (Tsutomu Yamada, Magnus)
133
This bug led to the often-reported <quote>could not reattach
134
to shared memory</> error message.
140
Fix locale handling with plperl (Heikki)
144
This bug could cause the server's locale setting to change when a
145
plperl function is called, leading to data corruption.
151
Fix handling of reloptions to ensure setting one option doesn't
152
force default values for others (Itagaki Takahiro)
158
Ensure that a <quote>fast shutdown</> request will forcibly terminate
159
open sessions, even if a <quote>smart shutdown</> was already in progress
166
Avoid memory leak for <function>array_agg()</> in <literal>GROUP BY</>
173
Treat <function>to_char(..., 'TH')</> as an uppercase ordinal
174
suffix with <literal>'HH'</>/<literal>'HH12'</> (Heikki)
178
It was previously handled as <literal>'th'</> (lowercase).
184
Include the fractional part in the result of
185
<function>EXTRACT(second)</> and
186
<function>EXTRACT(milliseconds)</> for
187
<type>time</> and <type>time with time zone</> inputs (Tom)
191
This has always worked for floating-point datetime configurations,
192
but was broken in the integer datetime code.
198
Fix overflow for <literal>INTERVAL '<replaceable>x</> ms'</literal>
199
when <replaceable>x</> is more than 2 million and integer
200
datetimes are in use (Alex Hunsaker)
206
Improve performance when processing toasted values in index scans (Tom)
210
This is particularly useful for <ulink
211
url="http://postgis.refractions.net/">PostGIS</ulink>.
217
Fix a typo that disabled <varname>commit_delay</> (Jeff Janes)
223
Output early-startup messages to <filename>postmaster.log</> if the
224
server is started in silent mode (Tom)
228
Previously such error messages were discarded, leading to
229
difficulty in debugging.
235
Remove translated FAQs (Peter)
239
They are now on the <ulink
240
url="http://wiki.postgresql.org/wiki/FAQ">wiki</ulink>. The
241
main FAQ was moved to the wiki some time ago.
247
Fix <application>pg_ctl</> to not go into an infinite loop if
248
<filename>postgresql.conf</> is empty (Jeff Davis)
254
Fix several errors in <application>pg_dump</>'s
255
<literal>--binary-upgrade</> mode (Bruce, Tom)
259
<literal>pg_dump --binary-upgrade</> is used by pg_migrator.
265
Fix <filename>contrib/xml2</>'s <function>xslt_process()</> to
266
properly handle the maximum number of parameters (twenty) (Tom)
272
Improve robustness of <application>libpq</>'s code to recover
273
from errors during <command>COPY FROM STDIN</> (Tom)
279
Avoid including conflicting readline and editline header files
280
when both libraries are installed (Zdenek Kotala)
286
Work around gcc bug that causes <quote>floating-point exception</>
287
instead of <quote>division by zero</> on some platforms (Tom)
293
Update time zone data files to <application>tzdata</> release 2009l
294
for DST law changes in Bangladesh, Egypt, Mauritius.
4
303
<sect1 id="release-8-4">
5
304
<title>Release 8.4</title>