1
1
<!-- doc/src/sgml/release-8.4.sgml -->
2
2
<!-- See header comment in release.sgml about typical markup -->
4
<sect1 id="release-8-4-7">
5
<title>Release 8.4.7</title>
8
<title>Release date</title>
9
<simpara>2011-01-31</simpara>
13
This release contains a variety of fixes from 8.4.6.
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.7</title>
22
A dump/restore is not required for those running 8.4.X.
23
However, if you are upgrading from a version earlier than 8.4.2,
24
see the release notes for 8.4.2.
30
<title>Changes</title>
36
Avoid failures when <command>EXPLAIN</> tries to display a simple-form
37
<literal>CASE</> expression (Tom Lane)
41
If the <literal>CASE</>'s test expression was a constant, the planner
42
could simplify the <literal>CASE</> into a form that confused the
43
expression-display code, resulting in <quote>unexpected CASE WHEN
50
Fix assignment to an array slice that is before the existing range
51
of subscripts (Tom Lane)
55
If there was a gap between the newly added subscripts and the first
56
pre-existing subscript, the code miscalculated how many entries needed
57
to be copied from the old array's null bitmap, potentially leading to
58
data corruption or crash.
64
Avoid unexpected conversion overflow in planner for very distant date
69
The <type>date</> type supports a wider range of dates than can be
70
represented by the <type>timestamp</> types, but the planner assumed it
71
could always convert a date to timestamp with impunity.
77
Fix <application>pg_restore</>'s text output for large objects (BLOBs)
78
when <varname>standard_conforming_strings</> is on (Tom Lane)
82
Although restoring directly to a database worked correctly, string
83
escaping was incorrect if <application>pg_restore</> was asked for
84
SQL text output and <varname>standard_conforming_strings</> had been
85
enabled in the source database.
91
Fix erroneous parsing of <type>tsquery</> values containing
92
<literal>... & !(subexpression) | ...</literal> (Tom Lane)
96
Queries containing this combination of operators were not executed
97
correctly. The same error existed in <filename>contrib/intarray</>'s
98
<type>query_int</> type and <filename>contrib/ltree</>'s
99
<type>ltxtquery</> type.
105
Fix buffer overrun in <filename>contrib/intarray</>'s input function
106
for the <type>query_int</> type (Apple)
110
This bug is a security risk since the function's return address could
111
be overwritten. Thanks to Apple Inc's security team for reporting this
112
issue and supplying the fix. (CVE-2010-4015)
118
Fix bug in <filename>contrib/seg</>'s GiST picksplit algorithm
123
This could result in considerable inefficiency, though not actually
124
incorrect answers, in a GiST index on a <type>seg</> column.
125
If you have such an index, consider <command>REINDEX</>ing it after
126
installing this update. (This is identical to the bug that was fixed in
127
<filename>contrib/cube</> in the previous update.)
136
<sect1 id="release-8-4-6">
137
<title>Release 8.4.6</title>
140
<title>Release date</title>
141
<simpara>2010-12-16</simpara>
145
This release contains a variety of fixes from 8.4.5.
146
For information about new features in the 8.4 major release, see
147
<xref linkend="release-8-4">.
151
<title>Migration to Version 8.4.6</title>
154
A dump/restore is not required for those running 8.4.X.
155
However, if you are upgrading from a version earlier than 8.4.2,
156
see the release notes for 8.4.2.
162
<title>Changes</title>
169
<link linkend="guc-wal-sync-method"><varname>wal_sync_method</></link>
170
to be <literal>fdatasync</> on Linux (Tom Lane, Marti Raudsepp)
174
The default on Linux has actually been <literal>fdatasync</> for many
175
years, but recent kernel changes caused <productname>PostgreSQL</> to
176
choose <literal>open_datasync</> instead. This choice did not result
177
in any performance improvement, and caused outright failures on
178
certain filesystems, notably <literal>ext4</> with the
179
<literal>data=journal</> mount option.
185
Fix assorted bugs in WAL replay logic for GIN indexes (Tom Lane)
189
This could result in <quote>bad buffer id: 0</> failures or
190
corruption of index contents during replication.
196
Fix recovery from base backup when the starting checkpoint WAL record
197
is not in the same WAL segment as its redo point (Jeff Davis)
203
Fix persistent slowdown of autovacuum workers when multiple workers
204
remain active for a long time (Tom Lane)
208
The effective <varname>vacuum_cost_limit</> for an autovacuum worker
209
could drop to nearly zero if it processed enough tables, causing it
210
to run extremely slowly.
216
Add support for detecting register-stack overrun on <literal>IA64</>
221
The <literal>IA64</> architecture has two hardware stacks. Full
222
prevention of stack-overrun failures requires checking both.
228
Add a check for stack overflow in <function>copyObject()</> (Tom Lane)
232
Certain code paths could crash due to stack overflow given a
233
sufficiently complex query.
239
Fix detection of page splits in temporary GiST indexes (Heikki
244
It is possible to have a <quote>concurrent</> page split in a
245
temporary index, if for example there is an open cursor scanning the
246
index when an insertion is done. GiST failed to detect this case and
247
hence could deliver wrong results when execution of the cursor
254
Fix error checking during early connection processing (Tom Lane)
258
The check for too many child processes was skipped in some cases,
259
possibly leading to postmaster crash when attempting to add the new
260
child process to fixed-size arrays.
266
Improve efficiency of window functions (Tom Lane)
270
Certain cases where a large number of tuples needed to be read in
271
advance, but <varname>work_mem</> was large enough to allow them all
272
to be held in memory, were unexpectedly slow.
273
<function>percent_rank()</>, <function>cume_dist()</> and
274
<function>ntile()</> in particular were subject to this problem.
280
Avoid memory leakage while <command>ANALYZE</>'ing complex index
281
expressions (Tom Lane)
287
Ensure an index that uses a whole-row Var still depends on its table
292
An index declared like <literal>create index i on t (foo(t.*))</>
293
would not automatically get dropped when its table was dropped.
299
Do not <quote>inline</> a SQL function with multiple <literal>OUT</>
300
parameters (Tom Lane)
304
This avoids a possible crash due to loss of information about the
305
expected result rowtype.
311
Behave correctly if <literal>ORDER BY</>, <literal>LIMIT</>,
312
<literal>FOR UPDATE</>, or <literal>WITH</> is attached to the
313
<literal>VALUES</> part of <literal>INSERT ... VALUES</> (Tom Lane)
319
Fix constant-folding of <literal>COALESCE()</> expressions (Tom Lane)
323
The planner would sometimes attempt to evaluate sub-expressions that
324
in fact could never be reached, possibly leading to unexpected errors.
330
Fix postmaster crash when connection acceptance
331
(<function>accept()</> or one of the calls made immediately after it)
332
fails, and the postmaster was compiled with GSSAPI support (Alexander
339
Fix missed unlink of temporary files when <varname>log_temp_files</>
344
If an error occurred while attempting to emit the log message, the
345
unlink was not done, resulting in accumulation of temp files.
351
Add print functionality for <structname>InhRelation</> nodes (Tom Lane)
355
This avoids a failure when <varname>debug_print_parse</> is enabled
356
and certain types of query are executed.
362
Fix incorrect calculation of distance from a point to a horizontal
363
line segment (Tom Lane)
367
This bug affected several different geometric distance-measurement
374
Fix incorrect calculation of transaction status in
375
<application>ecpg</> (Itagaki Takahiro)
381
Fix <application>PL/pgSQL</>'s handling of <quote>simple</>
382
expressions to not fail in recursion or error-recovery cases (Tom Lane)
388
Fix <application>PL/Python</>'s handling of set-returning functions
393
Attempts to call SPI functions within the iterator generating a set
400
Fix bug in <filename>contrib/cube</>'s GiST picksplit algorithm
405
This could result in considerable inefficiency, though not actually
406
incorrect answers, in a GiST index on a <type>cube</> column.
407
If you have such an index, consider <command>REINDEX</>ing it after
408
installing this update.
414
Don't emit <quote>identifier will be truncated</> notices in
415
<filename>contrib/dblink</> except when creating new connections
422
Fix potential coredump on missing public key in
423
<filename>contrib/pgcrypto</> (Marti Raudsepp)
429
Fix memory leak in <filename>contrib/xml2</>'s XPath query functions
436
Update time zone data files to <application>tzdata</> release 2010o
437
for DST law changes in Fiji and Samoa;
438
also historical corrections for Hong Kong.
4
447
<sect1 id="release-8-4-5">
5
448
<title>Release 8.4.5</title>