* Fix GiST index corruption due to marking the wrong index entry
"dead" after a deletion.
This would result in index searches failing to find rows they
should have found.
* Fix backend crash when the client encoding cannot represent a
localized error message.
We have addressed similar issues before, but it would still fail if
the "character has no equivalent" message itself couldn't be
converted. The fix is to disable localization and send the plain
ASCII error message when we detect such a situation.
* Fix possible crash when deeply nested functions are invoked from a
trigger.
* Improve optimization of "expression" IN ("expression-list") queries.
Cases in which there are query variables on the right-hand side had
been handled less efficiently in 8.2.x and 8.3.x than in prior
versions. The fix restores 8.1 behavior for such cases.
* Fix mis-expansion of rule queries when a sub-SELECT appears in a
function call in FROM, a multi-row VALUES list, or a RETURNING list.
* Fix memory leak during rescan of a hashed aggregation plan.
* Ensure an error is reported when a newly-defined PL/pgSQL trigger
function is invoked as a normal function.
* Prevent possible collision of relfilenode numbers when moving a
table to another tablespace with "ALTER SET TABLESPACE".
The command tried to re-use the existing filename, instead of
picking one that is known unused in the destination directory.
* Fix incorrect tsearch2 headline generation when single query item
matches first word of text.
* Fix improper display of fractional seconds in interval values when
using a non-ISO datestyle in an "--enable-integer-datetimes" build.
* Ensure SPI_getvalue and SPI_getbinval behave correctly when the
passed tuple and tuple descriptor have different numbers of columns.
* Fix ecpg's parsing of "CREATE ROLE".
* Fix recent breakage of pg_ctl restart.
* Ensure "pg_control" is opened in binary mode.
pg_controldata and pg_resetxlog did this incorrectly, and so could
fail on Windows.
* Update time zone data files to tzdata release 2008i (for DST law
changes in Argentina, Brazil, Mauritius, Syria)
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
* Fix character string comparison for Windows locales that consider
different character combinations as equal
* Repair potential deadlock between concurrent "VACUUM FULL"
operations on different system catalogs
* Fix longstanding "LISTEN"/"NOTIFY" race condition
* Disallow "LISTEN" and "UNLISTEN" within a prepared transaction
* Disallow dropping a temporary table within a prepared transaction
* Fix rare crash when an error occurs during a query using a hash
index
* Fix memory leaks in certain usages of set-returning functions
* Fix input of datetime values for February 29 in years BC
* Fix "unrecognized node type" error in some variants of "ALTER
OWNER"
* Ensure pg_stat_activity.waiting flag is cleared when a lock wait is
aborted
* Fix handling of process permissions on Windows Vista
* More...
* Remove security vulnerabilities that allowed connected users to
read backend memory
* Fix not-so-rare-anymore bug wherein btree index page splits could
fail due to choosing an infeasible split point
* Fix Borland C compile scripts
* Properly handle to_char('CC') for years ending in 00
Year 2000 is in the twentieth century, not the twenty-first.
* "/contrib/tsearch2" localization improvements
* Fix incorrect permission check in information_schema.key_column_usage view
* Improve "VACUUM" performance for databases with many tables
* Fix for rare Assert() crash triggered by UNION
* Fix potentially incorrect results from index searches using ROW
inequality conditions
* Tighten security of multi-byte character processing for UTF8
sequences over three bytes long
* Fix bogus "permission denied" failures occurring on Windows due to
attempts to fsync already-deleted files
* Fix bug that could cause the statistics collector to hang on
Windows
* Fix possible crashes when an already-in-use PL/pgSQL function is
updated
* Improve PL/pgSQL handling of domain types
* Fix possible errors in processing PL/pgSQL exception blocks
* Query language enhancements including "INSERT/UPDATE/DELETE
RETURNING", multirow VALUES lists, and optional target-table alias
in "UPDATE"/"DELETE"
* Index creation without blocking concurrent
"INSERT"/"UPDATE"/"DELETE" operations
* Many query optimization improvements, including support for
reordering outer joins
* Improved sorting performance with lower memory usage
* More efficient locking with better concurrency
* More efficient vacuuming
* Easier administration of warm standby servers
* New FILLFACTOR support for tables and indexes
* Monitoring, logging, and performance tuning additions
* More control over creating and dropping objects
* Table inheritance relationships can be defined for and removed from
pre-existing tables
* "COPY TO" can copy the output of an arbitrary "SELECT" statement
* Array improvements, including nulls in arrays
* Aggregate-function improvements, including multiple-input
aggregates and SQL:2003 statistical functions
* Many "contrib/" improvements