PostgreSQL 9.2.5 Documentation
Prev | Up | Appendix E. Release Notes | Next

# E.18. Release 9.0.14

> Release Date: 2013-10-10

This release contains a variety of fixes from 9.0.13. For information about new features in the 9.0 major release, see Section E.32.

## E.18.1. Migration to Version 9.0.14

A dump/restore is not required for those running 9.0.X.

Also, if you are upgrading from a version earlier than 9.0.6, see the release notes for 9.0.6.

## E.18.2. Changes

- Prevent downcasing of non-ASCII non-double-quoted identifiers in multi-byte encodings (Andrew Dunstan)

  The previous behavior was wrong and confusing.

- Fix checkpoint memory leak in background writer when `wal_level = hot_standby` (Naoya Anzai)

- Fix memory leak caused by `lo_open()` failure (Heikki Linnakangas)

- Fix memory overcommit bug when `work_mem` is using more than 24GB of memory (Stephen Frost)

- Fix libpq SSL deadlock bug (Stephen Frost)

- Fix possible SSL network stack corruption in threaded libpq applications (Nick Phillips, Stephen Frost)

- Properly compute row estimates for boolean columns containing many NULL values (Andrew Gierth)

  Previously tests like `col IS NOT TRUE` and `col IS NOT FALSE` did not properly factor in NULL values when estimating plan costs.

- Prevent pushing down `WHERE` clauses into unsafe `UNION/INTERSECT` subqueries (Tom Lane)

  Previously such push downs could generate errors.

- Fix rare `GROUP BY` query error caused by improperly processed date type modifiers (Tom Lane)

- Allow view dump code to better handle dropped columns on base tables (Tom Lane)

- Properly record index comments created using `UNIQUE` and `PRIMARY KEY` syntax (Andres Freund)

  This fixes a parallel pg_restore failure.

- Fix `REINDEX TABLE` and `REINDEX DATABASE` to properly revalidate constraints and mark invalidated indexes as valid (Noah Misch)

  `REINDEX INDEX` has always worked properly.

- Fix possible deadlock during concurrent `CREATE INDEX CONCURRENTLY` operations (Tom Lane)

- Fix `regexp_matches()` handling of zero-length matches (Jeevan Chalke)

  Previously, zero-length matches like '^' could return too many matches.

- Fix crash for overly-complex regular expressions (Heikki Linnakangas)

- Fix regular expression match failures for back references combined with non-greedy quantifiers (Jeevan Chalke)

- Prevent `CREATE FUNCTION` from checking `SET` variables unless function body checking is enabled (Tom Lane)

- Allow `ALTER DEFAULT PRIVILEGES` to operate on schemas without requiring CREATE permission (Tom Lane)

- Loosen restriction on keywords used in queries (Tom Lane)

  Specifically, lessen keyword restrictions for role names, language names, `EXPLAIN` and `COPY` options, and `SET` values. This allows `COPY ... (FORMAT BINARY)` previously `BINARY` required single-quotes.

- Fix `pgp_pub_decrypt()` so it works for secret keys with passwords (Marko Kreen)

- Remove rare inaccurate warning during vacuum of index-less tables (Heikki Linnakangas)

- Improve analyze statistics generation after a cancelled file truncate request (Kevin Grittner)

- Avoid possible failure when performing transaction control commands (e.g ROLLBACK) in prepared queries (Tom Lane)

- Allow various spellings of infinity on all platforms (Tom Lane)

  Supported infinity values are "inf", "+inf", "-inf", "infinity", "+infinity", and "-infinity".

- Expand ability to compare rows to records and arrays (Rafal Rzepecki, Tom Lane)

- Update time zone data files to tzdata release 2013d for DST law changes in DST law changes in Israel, Morocco, Palestine, Paraguay. Also, historical zone data corrections for Macquarie Island (Tom Lane)

Prev | Home | Next
Release 9.1 | Up | Release 9.0.13