PostgreSQL 2010-12-16 Bugfix Updates

Posted on 2010-12-16

The PostgreSQL Global Development Group today released updates for all active branches of the PostgreSQL object-relational database system, including versions 9.0.2, 8.4.6, 8.3.13, 8.2.19, 8.1.23. Database administrators are strongly encouraged to update at the next available downtime, particularly if using version 9.0, Point-In-Time Recovery or Warm Standby.

This release is the last update to PostgreSQL 8.1. Version 8.1 is now end-of-life, and users are encouraged to upgrade to a newer version as soon as possible. See our release support policy.

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.

Overall, these releases include 79 patches to 9.0, 38 patches to 8.4, 31 patches to 8.3, 25 patches to 8.2 and 21 patches to 8.1.

See the release notes for each version for a full list of changes with details.

As with other minor releases, users are not required to dump and reload their database in order to apply this update release; you may simply shut down PostgreSQL and update its binaries. Users skipping more than one update may need to check the release notes for extra, post-update steps.

Download new versions now:

This post has been migrated from a previous version of the PostgreSQL website. We apologise for any formatting issues caused by the migration.