Release date: 2010-03-15
This release contains a variety of fixes from 8.3.9. For information about new features in the 8.3 major release, see Section E.205.
A dump/restore is not required for those running 8.3.X. However, if you are upgrading from a version earlier than 8.3.8, see Section E.197.
Add new configuration parameter
ssl_renegotiation_limit to control how
often we do session key renegotiation for an SSL
This can be set to zero to disable renegotiation completely, which may be required if a broken SSL library is used. In particular, some vendors are shipping stopgap patches for CVE-2009-3555 that cause renegotiation attempts to fail.
Fix possible deadlock during backend startup (Tom)
Fix possible crashes due to not handling errors during relcache reload cleanly (Tom)
Fix possible crash due to use of dangling pointer to a cached plan (Tatsuo)
Fix possible crashes when trying to recover from a failure in subtransaction start (Tom)
Fix server memory leak associated with use of savepoints and a client encoding different from server's encoding (Tom)
Fix incorrect WAL data emitted during end-of-recovery cleanup of a GIST index page split (Yoichi Hirai)
This would result in index corruption, or even more likely an error during WAL replay, if we were unlucky enough to crash during end-of-recovery cleanup after having completed an incomplete GIST insertion.
bit types treat any negative
length as meaning “all the rest of the string”
The previous coding treated only -1 that way, and would produce an invalid result value for other negative values, possibly leading to a crash (CVE-2010-0442).
Fix integer-to-bit-string conversions to handle the first fractional byte correctly when the output bit width is wider than the given integer by something other than a multiple of 8 bits (Tom)
Fix some cases of pathologically slow regular expression matching (Tom)
Fix assorted crashes in
processing caused by sloppy memory management (Tom)
This is a back-patch of changes first applied in 8.4. The 8.3 code was known buggy, but the new code was sufficiently different to not want to back-patch it until it had gotten some field testing.
Fix bug with trying to update a field of an element of a composite-type array column (Tom)
STOP WAL LOCATION
entry in backup history files to report the next WAL
segment's name when the end location is exactly at a
segment boundary (Itagaki Takahiro)
Fix some more cases of temporary-file leakage (Heikki)
This corrects a problem introduced in the previous minor release. One case that failed is when a plpgsql function returning set is called within another function's exception handler.
Improve constraint exclusion processing of boolean-variable cases, in particular make it possible to exclude a partition that has a “bool_column = false” constraint (Tom)
and related files, do not treat
@something as a file inclusion request
@ appears inside
quote marks; also, never treat
@ by itself as a file inclusion request
This prevents erratic behavior if a role or database
name starts with
@. If you
need to include a file whose path name contains spaces,
you can still do so, but you must write
@"/path to/file" rather than putting the
quotes around the whole construct.
Prevent infinite loop on some platforms if a directory
is named as an inclusion target in
pg_hba.conf and related files (Tom)
Fix possible infinite loop if
SSL_write fails without setting
This is reportedly possible with some Windows versions of OpenSSL.
Disallow GSSAPI authentication on local connections, since it requires a hostname to function correctly (Magnus)
Make ecpg report the proper SQLSTATE if the connection disappears (Michael)
numericlocale option to not
format strings it shouldn't in latex and troff output
Make psql return the
correct exit status (3) when
--single-transaction are both specified
and an error occurs during the implied
Fix plpgsql failure in one case where a composite column is set to NULL (Tom)
Fix possible failure when calling PL/Perl functions from PL/PerlU or vice versa (Tim Bunce)
volatile markings in
PL/Python to avoid possible compiler-specific misbehavior
Ensure PL/Tcl initializes the Tcl interpreter fully (Tom)
The only known symptom of this oversight is that the
clock command misbehaves
if using Tcl 8.5 or later.
Prevent crash in
contrib/dblink when too many key
columns are specified to a
dblink_build_sql_* function (Rushabh
Lathia, Joe Conway)
Allow zero-dimensional arrays in
contrib/ltree operations (Tom)
This case was formerly rejected as an error, but it's
more convenient to treat it the same as a zero-element
array. In particular this avoids unnecessary failures
ltree operation is
applied to the result of
ARRAY(SELECT ...) and the sub-select
returns no rows.
Fix assorted crashes in
contrib/xml2 caused by sloppy memory
Make building of
contrib/xml2 more robust on Windows
Fix race condition in Windows signal handling (Radu Ilie)
One known symptom of this bug is that rows in
pg_listener could be
dropped under heavy load.
Update time zone data files to tzdata release 2010e for DST law changes in Bangladesh, Chile, Fiji, Mexico, Paraguay, Samoa.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.