* fix build issues on HP-UX and Itanium
* update time zone files for recent time zone changes
* change SQLSTATE for Hot Standby warnings
* prevent bgwriter hang during recovery
* prevent recursive composite type creation
* disallow dropping tables whose triggers are still pending
* allow use of "replication" as a user name
* prevent a crash during GEQO planning
* improve join plans for tables with missing statistics
* fix error with SELECT FOR UPDATE in a subselect
* close PL/python array slice memory leak
* allow SSL connections for users with no home directory
* allow building PostgreSQL 9.0 with 64-bit MinGW
* Before exiting walreceiver, ensure all the received WAL is fsync'd to disk
* Avoid excess fsync activity in walreceiver
* Make "ALTER TABLE" revalidate uniqueness and exclusion constraints when needed
* Fix EvalPlanQual for "UPDATE" of an inheritance tree in which the tables are
not all alike
* Avoid failures when "EXPLAIN" tries to display a simple-form CASE expression
* Fix assignment to an array slice that is before the existing range of
subscripts
* Avoid unexpected conversion overflow in planner for very distant date values
* Fix PL/Python crash when an array contains null entries
* Remove ecpg's fixed length limit for constants defining an array dimension
* Fix erroneous parsing of tsquery values containing ... &
!(subexpression) | ...
* Fix buffer overrun in "contrib/intarray"'s input function for the query_int
type
* Fix bug in "contrib/seg"'s GiST picksplit algorithm
* Force the default wal_sync_method to be fdatasync on Linux
* Fix "too many KnownAssignedXids" error during Hot Standby replay
* Fix race condition in lock acquisition during Hot Standby
* Avoid unnecessary conflicts during Hot Standby
* Fix assorted bugs in WAL replay logic for GIN indexes
* Fix recovery from base backup when the starting checkpoint WAL
record is not in the same WAL segment as its redo point
* Fix corner-case bug when streaming replication is enabled
immediately after creating the master database cluster
* Fix persistent slowdown of autovacuum workers when multiple workers
remain active for a long time
* Fix long-term memory leak in autovacuum launcher
* Avoid failure when trying to report an impending transaction
wraparound condition from outside a transaction
* Add support for detecting register-stack overrun on IA64
* Add a check for stack overflow in copyObject()
* Fix detection of page splits in temporary GiST indexes
* Fix error checking during early connection processing
* Improve efficiency of window functions
* Avoid memory leakage while "ANALYZE"'ing complex index expressions
* Ensure an index that uses a whole-row Var still depends on its table
* Add missing support in "DROP OWNED BY" for removing foreign data
wrapper/server privileges belonging to a user
* Do not "inline" a SQL function with multiple OUT parameters
* Fix crash when inline-ing a set-returning function whose argument
list contains a reference to an inline-able user function
* Behave correctly if ORDER BY, LIMIT, FOR UPDATE, or WITH is
attached to the VALUES part of INSERT ... VALUES
* Make the OFF keyword unreserved
This prevents problems with using off as a variable name in
PL/pgSQL. That worked before 9.0, but was now broken because
PL/pgSQL now treats all core reserved words as reserved.
* Fix constant-folding of COALESCE() expressions
* Use a separate interpreter for each calling SQL userid in PL/Perl and PL/Tcl
* Improve pg_get_expr() security fix so that the function can still be used on
the output of a sub-select
* Fix incorrect placement of placeholder evaluation
* Fix join removal's handling of placeholder expressions
* Fix possible duplicate scans of UNION ALL member relations
* Prevent infinite loop in ProcessIncomingNotify() after unlistening
* Prevent show_session_authorization() from crashing within autovacuum
processes
* Re-allow input of Julian dates prior to 0001-01-01 AD
* Make psql recognize "DISCARD ALL" as a command that should not be encased in
a transaction block in autocommit-off mode
* Update build infrastructure and documentation to reflect the source code
repository's move from CVS to Git
9.0 includes more major features than any release before it, including:
* Hot standby
* Streaming replication
* In-place upgrades
* 64-bit Windows builds
* Easy mass permissions management
* Anonymous blocks and named parameter calls for stored procedures
* New windowing functions and ordered aggregates
... and many more. For details on the over 200 additions and improvements in
this version, developed by over a hundred contributors, please see the release
notes.