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-12">
5
<title>Release 8.4.12</title>
8
<title>Release Date</title>
9
<simpara>2012-06-04</simpara>
13
This release contains a variety of fixes from 8.4.11.
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.12</title>
22
A dump/restore is not required for those running 8.4.X.
26
However, if you are upgrading from a version earlier than 8.4.10,
27
see the release notes for 8.4.10.
33
<title>Changes</title>
39
Fix incorrect password transformation in
40
<filename>contrib/pgcrypto</>'s DES <function>crypt()</> function
45
If a password string contained the byte value <literal>0x80</>, the
46
remainder of the password was ignored, causing the password to be much
47
weaker than it appeared. With this fix, the rest of the string is
48
properly included in the DES hash. Any stored password values that are
49
affected by this bug will thus no longer match, so the stored values may
50
need to be updated. (CVE-2012-2143)
56
Ignore <literal>SECURITY DEFINER</> and <literal>SET</> attributes for
57
a procedural language's call handler (Tom Lane)
61
Applying such attributes to a call handler could crash the server.
68
Allow numeric timezone offsets in <type>timestamp</> input to be up to
69
16 hours away from UTC (Tom Lane)
73
Some historical time zones have offsets larger than 15 hours, the
74
previous limit. This could result in dumped data values being rejected
81
Fix timestamp conversion to cope when the given time is exactly the
82
last DST transition time for the current timezone (Tom Lane)
86
This oversight has been there a long time, but was not noticed
87
previously because most DST-using zones are presumed to have an
88
indefinite sequence of future DST transitions.
94
Fix <type>text</> to <type>name</> and <type>char</> to <type>name</>
95
casts to perform string truncation correctly in multibyte encodings
102
Fix memory copying bug in <function>to_tsquery()</> (Heikki Linnakangas)
108
Fix planner's handling of outer PlaceHolderVars within subqueries (Tom
113
This bug concerns sub-SELECTs that reference variables coming from the
114
nullable side of an outer join of the surrounding query.
115
In 9.1, queries affected by this bug would fail with <quote>ERROR:
116
Upper-level PlaceHolderVar found where not expected</>. But in 9.0 and
117
8.4, you'd silently get possibly-wrong answers, since the value
118
transmitted into the subquery wouldn't go to null when it should.
124
Fix slow session startup when <structname>pg_attribute</> is very large
129
If <structname>pg_attribute</> exceeds one-fourth of
130
<varname>shared_buffers</>, cache rebuilding code that is sometimes
131
needed during session start would trigger the synchronized-scan logic,
132
causing it to take many times longer than normal. The problem was
133
particularly acute if many new sessions were starting at once.
139
Ensure sequential scans check for query cancel reasonably often (Merlin
144
A scan encountering many consecutive pages that contain no live tuples
145
would not respond to interrupts meanwhile.
151
Ensure the Windows implementation of <function>PGSemaphoreLock()</>
152
clears <varname>ImmediateInterruptOK</> before returning (Tom Lane)
156
This oversight meant that a query-cancel interrupt received later
157
in the same query could be accepted at an unsafe time, with
158
unpredictable but not good consequences.
164
Show whole-row variables safely when printing views or rules
165
(Abbas Butt, Tom Lane)
169
Corner cases involving ambiguous names (that is, the name could be
170
either a table or column name of the query) were printed in an
171
ambiguous way, risking that the view or rule would be interpreted
172
differently after dump and reload. Avoid the ambiguous case by
173
attaching a no-op cast.
179
Fix <command>COPY FROM</> to properly handle null marker strings that
180
correspond to invalid encoding (Tom Lane)
184
A null marker string such as <literal>E'\\0'</> should work, and did
185
work in the past, but the case got broken in 8.4.
191
Ensure autovacuum worker processes perform stack depth checking
192
properly (Heikki Linnakangas)
196
Previously, infinite recursion in a function invoked by
197
auto-<command>ANALYZE</> could crash worker processes.
203
Fix logging collector to not lose log coherency under high load (Andrew
208
The collector previously could fail to reassemble large messages if it
215
Fix logging collector to ensure it will restart file rotation
216
after receiving <systemitem>SIGHUP</> (Tom Lane)
222
Fix WAL replay logic for GIN indexes to not fail if the index was
223
subsequently dropped (Tom Lane)
229
Fix memory leak in PL/pgSQL's <command>RETURN NEXT</> command (Joe
236
Fix PL/pgSQL's <command>GET DIAGNOSTICS</> command when the target
237
is the function's first variable (Tom Lane)
243
Fix potential access off the end of memory in <application>psql</>'s
244
expanded display (<command>\x</>) mode (Peter Eisentraut)
250
Fix several performance problems in <application>pg_dump</> when
251
the database contains many objects (Jeff Janes, Tom Lane)
255
<application>pg_dump</> could get very slow if the database contained
256
many schemas, or if many objects are in dependency loops, or if there
257
are many owned sequences.
263
Fix <filename>contrib/dblink</>'s <function>dblink_exec()</> to not leak
264
temporary database connections upon error (Tom Lane)
270
Fix <filename>contrib/dblink</> to report the correct connection name in
271
error messages (Kyotaro Horiguchi)
277
Update time zone data files to <application>tzdata</> release 2012c
278
for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland
279
Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands;
280
also historical corrections for Canada.
4
289
<sect1 id="release-8-4-11">
5
290
<title>Release 8.4.11</title>