This release contains a variety of fixes from 8.1.0. For information about new features in the 8.1 major release, see Section E.95, « Release 8.1 ».
A dump/restore is not required for those running 8.1.X.
Fix incorrect optimizations of outer-join conditions (Tom)
Fix problems with wrong reported column names in cases involving sub-selects flattened by the optimizer (Tom)
Fix update failures in scenarios involving CHECK constraints, toasted columns, and indexes (Tom)
Fix bgwriter problems after recovering from errors (Tom)
The background writer was found to leak buffer pins after write errors. While not fatal in itself, this might lead to mysterious blockages of later VACUUM commands.
Prevent failure if client sends Bind protocol message when current transaction is already aborted
/contrib/tsearch2 and /contrib/ltree fixes (Teodor)
Fix problems with translated error messages in languages that require word reordering, such as Turkish; also problems with unexpected truncation of output strings and wrong display of the smallest possible bigint value (Andrew, Tom)
These problems only appeared on platforms that were using our port/snprintf.c code, which includes BSD variants if --enable-nls was given, and perhaps others. In addition, a different form of the translated-error-message problem could appear on Windows depending on which version of libintl was used.
Re-allow AM/PM, HH, HH12, and D format specifiers for to_char(time) and to_char(interval). (to_char(interval) should probably use HH24.) (Bruce)
AIX, HPUX, and MSVC compile fixes (Tom, Hiroshi Saito)
Optimizer improvements (Tom)
Retry file reads and writes after Windows NO_SYSTEM_RESOURCES error (Qingqing Zhou)
Prevent autovacuum from crashing during ANALYZE of expression index (Alvaro)
Fix problems with ON COMMIT DELETE ROWS temp tables
Fix problems when a trigger alters the output of a SELECT DISTINCT query
Add 8.1.0 release note item on how to migrate invalid UTF-8 byte sequences (Paul Lindner)