Changes since 8.1.0:
* 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)