The most anticipated PostgreSQL version in five years has been released. With built-in binary replication and over a dozen new major features, PostgreSQL 9.0 has compelling reasons to upgrade or migrate for every database user and developer.
This release includes numerous documentation updates and 174 bugfixes, including:
- Avoid failure when trying to report an impending transaction wraparound condition from outside a transaction. This oversight prevented recovery after transaction wraparound got too close, because database startup processing would fail, backpatched to all versions.
- Fix recovery from base backup when the starting checkpoint WAL record is not in the same WAL segment as its redo point, backpatched to all supported versions.
- Force default wal_sync_method to be fdatasync for Linux, backpatched to all supported versions.
- Fix memory leak with ANALYZE and complex index expressions, backpatched to all supported versions.
- Fix memory leak in contrib/xml2 functions, backpatched to all supported versions.
- Fix for segfault in pgcrypto when attempting to access an undefined public key, backpatched to all supported versions.
- Prevent inlining an SQL function with multiple OUT parameters, backpatched to all supported versions.
- Fix bugs in WAL replay logic for GIN indexes, backpatched to 8.2.
- Fix segfault when accept() or a call made right after accepting a connection fails when server is compiled with GSSAPI support, backpatched to 8.3.
- Fix error handling in tempfile deletion with log_temp_files active, backpatched to 8.3.
- Prevent slowing of of autovacuum workers because of leakage in cost parameter over life of worker, backpatched to 8.3.
- Check for too many children before returning “okay to proceed”, backpatched to 8.4.
- Improve performance of internal tuplestore structures for window functions, backpatched to 8.4.
The 9.0.2 update also contains several fixes for issues with features introduced or changed in version 9.0:
- Fix low-risk potential denial of service against RADIUS login.
- Make OFF keyword unreserved.
- Fix bug in tracking of latest removed WAL segment in streaming replication.
- Fix for buffer overrun in pg_upgrade.
- Fix memory leak in autovacuum launcher.
- Fix for race condition in transaction ID assignment and lock acquisition in hot standby.
- Improve performance for parallel restore with many blobs.