## E.281. Release 8.0.5

Release date: 2005-12-12

This release contains a variety of fixes from 8.0.4. For information about new features in the 8.0 major release, see Section E.286.

### E.281.1. Migration to Version 8.0.5

A dump/restore is not required for those running 8.0.X. However, if you are upgrading from a version earlier than 8.0.3, see Section E.283.

### E.281.2. Changes

- Fix race condition in transaction log management

  There was a narrow window in which an I/O operation could be initiated for the wrong page, leading to an Assert failure or data corruption.

- Fix bgwriter problems after recovering from errors (Tom)

  The background writer was found to leak buffer pins after write errors. While not fatal in itself, this might lead to mysterious blockages of later VACUUM commands.

- Prevent failure if client sends Bind protocol message when current transaction is already aborted

- `/contrib/ltree` fixes (Teodor)

- AIX and HPUX compile fixes (Tom)

- Retry file reads and writes after Windows NO_SYSTEM_RESOURCES error (Qingqing Zhou)

- Fix intermittent failure when `log_line_prefix` includes `%i`

- Fix psql performance issue with long scripts on Windows (Merlin Moncure)

- Fix missing updates of `pg_group` flat file

- Fix longstanding planning error for outer joins

  This bug sometimes caused a bogus error “RIGHT JOIN is only supported with merge-joinable join conditions”.

- Postpone timezone initialization until after `postmaster.pid` is created

  This avoids confusing startup scripts that expect the pid file to appear quickly.

- Prevent core dump in pg_autovacuum when a table has been dropped

- Fix problems with whole-row references (`foo.*`) to subquery results