This release contains a variety of fixes from 8.1.4. 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. However, if you are upgrading from a version earlier than 8.1.2, see Section E.93, « Release 8.1.2 ».
Disallow aggregate functions in UPDATE commands, except within sub-SELECTs (Tom)
The behavior of such an aggregate was unpredictable, and in 8.1.X could cause a crash, so it has been disabled. The SQL standard does not allow this either.
Fix core dump when an untyped literal is taken as ANYARRAY
Fix core dump in duration logging for extended query protocol when a COMMIT or ROLLBACK is executed
Fix mishandling of AFTER triggers when query contains a SQL function returning multiple rows (Tom)
Fix ALTER TABLE ... TYPE to recheck NOT NULL for USING clause (Tom)
Fix string_to_array() to handle overlapping matches for the separator string
For example, string_to_array('123xx456xxx789', 'xx').
Fix to_timestamp() for AM/PM formats (Bruce)
Fix autovacuum's calculation that decides whether ANALYZE is needed (Alvaro)
Fix corner cases in pattern matching for psql's \d commands
Fix index-corrupting bugs in /contrib/ltree (Teodor)
Numerous robustness fixes in ecpg (Joachim Wieland)
Fix backslash escaping in /contrib/dbmirror
Minor fixes in /contrib/dblink and /contrib/tsearch2
Efficiency improvements in hash tables and bitmap index scans (Tom)
Fix instability of statistics collection on Windows (Tom, Andrew)
Fix statement_timeout to use the proper units on Win32 (Bruce)
In previous Win32 8.1.X versions, the delay was off by a factor of 100.
Fixes for MSVC and Borland C++™ compilers (Hiroshi Saito)
Fixes for AIX and Intel™ compilers (Tom)
Fix rare bug in continuous archiving (Tom)