## E.307. Release 8.1.6

Release date: 2007-01-08

This release contains a variety of fixes from 8.1.5. For information about new features in the 8.1 major release, see Section E.313.

### E.307.1. Migration to Version 8.1.6

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

### E.307.2. Changes

- Improve handling of `getaddrinfo()` on AIX (Tom)

  This fixes a problem with starting the statistics collector, among other things.

- Fix pg_restore to handle a tar-format backup that contains large objects (blobs) with comments (Tom)

- Fix “failed to re-find parent key” errors in `VACUUM` (Tom)

- Clean out `pg_internal.init` cache files during server restart (Simon)

  This avoids a hazard that the cache files might contain stale data after PITR recovery.

- Fix race condition for truncation of a large relation across a gigabyte boundary by `VACUUM` (Tom)

- Fix bug causing needless deadlock errors on row-level locks (Tom)

- Fix bugs affecting multi-gigabyte hash indexes (Tom)

- Fix possible deadlock in Windows signal handling (Teodor)

- Fix error when constructing an `ARRAY[]` made up of multiple empty elements (Tom)

- Fix ecpg memory leak during connection (Michael)

- Fix for macOS (Darwin) compilation (Tom)

- `to_number()` and `to_char(numeric)` are now `STABLE`, not `IMMUTABLE`, for new initdb installs (Tom)

  This is because `lc_numeric` can potentially change the output of these functions.

- Improve index usage of regular expressions that use parentheses (Tom)

  This improves psql `\d` performance also.

- Update timezone database

  This affects Australian and Canadian daylight-savings rules in particular.