* Make pg_get_ruledef() parenthesize negative constants (Tom)
Before this fix, a negative constant in a view or rule might be
dumped as, say, -42::integer, which is subtly incorrect: it should
be (-42)::integer due to operator precedence rules. Usually this
would make little difference, but it could interact with another
recent patch to cause PostgreSQL to reject what had been a valid
"SELECT DISTINCT" view query. Since this could result in pg_dump
output failing to reload, it is being treated as a high-priority
fix. The only released versions in which dump output is actually
incorrect are 8.3.1 and 8.2.7.
* Make "ALTER AGGREGATE ... OWNER TO" update pg_shdepend (Tom)
This oversight could lead to problems if the aggregate was later
involved in a "DROP OWNED" or "REASSIGN OWNED" operation.
* 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...
* Prevent index corruption when a transaction inserts rows and then
aborts close to the end of a concurrent "VACUUM" on the same table
* Fix ALTER DOMAIN ADD CONSTRAINT for cases involving domains over
domains
* Make "CREATE DOMAIN ... DEFAULT NULL" work properly
* Fix some planner problems with outer joins, notably poor size
estimation for t1 LEFT JOIN t2 WHERE t2.col IS NULL
* Allow the interval data type to accept input consisting only of
milliseconds or microseconds
* Allow timezone name to appear before the year in timestamp input
* Fixes for GIN indexes used by "/contrib/tsearch2"
* Speed up rtree index insertion
* Fix excessive logging of SSL error messages
* Fix logging so that log messages are never interleaved when using
the syslogger process
* Fix crash when log_min_error_statement logging runs out of memory
* Fix incorrect handling of some foreign-key corner cases
* Fix stddev_pop(numeric) and var_pop(numeric)
* Prevent "REINDEX" and "CLUSTER" from failing due to attempting to
process temporary tables of other sessions
* Update the time zone database rules, particularly New Zealand's
upcoming changes
* Windows socket and semaphore improvements
* Make "pg_ctl -w" work properly in Windows service mode
* Fix memory allocation bug when using MIT Kerberos on Windows
* Suppress timezone name (%Z) in log timestamps on Windows because of
possible encoding mismatches
* Require non-superusers who use "/contrib/dblink" to use only
password authentication, as a security measure
* Restrict "/contrib/pgstattuple" functions to superusers, for
security reasons
* Do not let "/contrib/intarray" try to make its GIN opclass the
default (this caused problems at dump/restore)
* Support explicit placement of the temporary-table schema within
search_path, and disable searching it for functions and operators
* Fix shared_preload_libraries for Windows by forcing reload in each
backend
* Fix to_char() so it properly upper/lower cases localized day or
month names
* "/contrib/tsearch2" crash fixes
* Require "COMMIT PREPARED" to be executed in the same database as
the transaction was prepared in
* Allow "pg_dump" to do binary backups larger than two gigabytes on
Windows
* New traditional (Taiwan) Chinese FAQ
* Prevent the statistics collector from writing to disk too
frequently
* Fix potential-data-corruption bug in how "VACUUM FULL" handles
"UPDATE" chains
* Fix bug in domains that use array types
* Fix "pg_dump" so it can dump a serial column's sequence using "-t"
when not also dumping the owning table
* Planner fixes, including improving outer join and bitmap scan
selection logic
* Fix possible wrong answers or crash when a PL/pgSQL function tries
to RETURN from within an EXCEPTION block
* Fix PANIC during enlargement of a hash index
* Fix POSIX-style timezone specs to follow new USA DST rules
* Remove overly-restrictive check for type length in constraints and
functional indexes
* Fix optimization so MIN/MAX in subqueries can again use indexes
* 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
* Fix crash with SELECT ... LIMIT ALL (also LIMIT NULL)
* "Several /contrib/tsearch2" fixes
* On Windows, make log messages coming from the operating system use
ASCII encoding
This fixes a conversion problem when there is a mismatch between
the encoding of the operating system and database server.
* Fix Windows linking of pg_dump using "win32.mak"
* Fix planner mistakes for outer join queries
* Fix several problems in queries involving sub-SELECTs
* Fix potential crash in SPI during subtransaction abort
This affects all PL functions since they all use SPI.
* Improve build speed of PDF documentation
* Re-add JST (Japan) timezone abbreviation
* Improve optimization decisions related to index scans
* Have psql print multi-byte combining characters as before, rather
than output as \u
* Improve index usage of regular expressions that use parentheses
This improves psql \d performance also.
* Make pg_dumpall assume that databases have public CONNECT
privilege, when dumping from a pre-8.2 server
This preserves the previous behavior that anyone can connect to a
database if allowed by "pg_hba.conf".
* 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