* 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)
the owner of all installed files is a non-root user. This change
affects most packages that require special users or groups by making
them use the specified unprivileged user and group instead.
(1) Add two new variables PKG_GROUPS_VARS and PKG_USERS_VARS to
unprivileged.mk. These two variables are lists of other bmake
variables that define package-specific users and groups. Packages
that have user-settable variables for users and groups, e.g. apache
and APACHE_{USER,GROUP}, courier-mta and COURIER_{USER,GROUP},
etc., should list these variables in PKG_USERS_VARS and PKG_GROUPS_VARS
so that unprivileged.mk can know to set them to ${UNPRIVILEGED_USER}
and ${UNPRIVILEGED_GROUP}.
(2) Modify packages to use PKG_GROUPS_VARS and PKG_USERS_VARS.
* 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
* 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