This release contains a variety of fixes from 9.0.9. For information about new features in the 9.0 major release, see Section E.30, « Release 9.0 ».
A dump/restore is not required for those running 9.0.X.
However, if you are upgrading from a version earlier than 9.0.6, see the release notes for 9.0.6.
Fix planner's assignment of executor parameters, and fix executor's rescan logic for CTE plan nodes (Tom Lane)
These errors could result in wrong answers from queries that scan the same WITH subquery multiple times.
Improve page-splitting decisions in GiST indexes (Alexander Korotkov, Robert Haas, Tom Lane)
Multi-column GiST indexes might suffer unexpected bloat due to this error.
Fix cascading privilege revoke to stop if privileges are still held (Tom Lane)
If we revoke a grant option from some role X, but X still holds that option via a grant from someone else, we should not recursively revoke the corresponding privilege from role(s) Y that X had granted it to.
Improve error messages for Hot Standby misconfiguration errors (Gurjeet Singh)
Fix handling of SIGFPE when PL/Perl is in use (Andres Freund)
Perl resets the process's SIGFPE handler to SIG_IGN, which could result in crashes later on. Restore the normal Postgres signal handler after initializing PL/Perl.
Prevent PL/Perl from crashing if a recursive PL/Perl function is redefined while being executed (Tom Lane)
Work around possible misoptimization in PL/Perl (Tom Lane)
Some Linux distributions contain an incorrect version of pthread.h that results in incorrect compiled code in PL/Perl, leading to crashes if a PL/Perl function calls another one that throws an error.
Fix pg_upgrade's handling of line endings on Windows (Andrew Dunstan)
Previously, pg_upgrade might add or remove carriage returns in places such as function bodies.
On Windows, make pg_upgrade use backslash path separators in the scripts it emits (Andrew Dunstan)
Update time zone data files to tzdata release 2012f for DST law changes in Fiji