Release date: 2009-03-16
This release contains a variety of fixes from 8.1.16. For information about new features in the 8.1 major release, see Section E.253.
A dump/restore is not required for those running 8.1.X. However, if you are upgrading from a version earlier than 8.1.15, see Section E.238.
Prevent error recursion crashes when encoding conversion fails (Tom)
This change extends fixes made in the last two minor releases for related failure scenarios. The previous fixes were narrowly tailored for the original problem reports, but we have now recognized that any error thrown by an encoding conversion function could potentially lead to infinite recursion while trying to report the error. The solution therefore is to disable translation and encoding conversion and report the plain-ASCII form of any error message, if we find we have gotten into a recursive error reporting situation. (CVE-2009-0922)
CONVERSION with the wrong encodings for the
specified conversion function (Heikki)
This prevents one possible scenario for encoding conversion failure. The previous change is a backstop to guard against other kinds of failures in the same area.
Fix core dump when
to_char() is given format codes that
are inappropriate for the type of the data argument
Fix decompilation of
WHEN with an implicit coercion (Tom)
This mistake could lead to Assert failures in an Assert-enabled build, or an “unexpected CASE WHEN clause” error message in other cases, when trying to examine or dump a view.
Fix possible misassignment of the owner of a TOAST table's rowtype (Tom)
CLUSTER or a rewriting
ALTER TABLE were
executed by someone other than the table owner, the
pg_type entry for the
table's TOAST table would end up marked as owned by that
someone. This caused no immediate problems, since the
permissions on the TOAST rowtype aren't examined by any
ordinary database operation. However, it could lead to
unexpected failures if one later tried to drop the role
that issued the command (in 8.1 or 8.2), or “owner of data type appears
to be invalid” warnings from pg_dump after having done so (in
Clean up PL/pgSQL error status variables fully at block exit (Ashesh Vashi and Dave Page)
This is not a problem for PL/pgSQL itself, but the omission could cause the PL/pgSQL Debugger to crash while examining the state of a function.
Island Summer Time) to the default list of known timezone
abbreviations (Xavier Bugaud)
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.