From 29b6123ecb4113e366325245cec5a5c221dae691 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 26 Mar 2016 19:27:58 -0400 Subject: [PATCH] First-draft release notes for 9.5.2. As usual, the release notes for other branches will be made by cutting these down, but put them up for community review first. --- doc/src/sgml/release-9.5.sgml | 668 ++++++++++++++++++++++++++++++++++ 1 file changed, 668 insertions(+) diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index aa5acb077c..8f5b7a4635 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -1,6 +1,674 @@ + + Release 9.5.2 + + + Release Date + 2016-03-31 + + + + This release contains a variety of fixes from 9.5.1. + For information about new features in the 9.5 major release, see + . + + + + Migration to Version 9.5.2 + + + A dump/restore is not required for those running 9.5.X. + + + + However, you may need to REINDEX some indexes after applying + the update, as per the first changelog entry below. + + + + + Changes + + + + + + + + Disable abbreviated keys for string sorting in non-C + locales (Robert Haas) + + + + PostgreSQL 9.5 introduced logic for speeding up + comparisons of string data types by using the standard C library + function strxfrm() as a substitute + for strcoll(). It now emerges that most versions of + glibc (Linux's implementation of the C library) have buggy + implementations of strxfrm() that, in some locales, + can produce string comparison results that do not + match strcoll(). Until this problem can be better + characterized, disable the optimization in all non-C + locales. (C locale is safe since it uses + neither strcoll() nor strxfrm().) + + + + Unfortunately, this problem affects not only sorting but also entry + ordering in b-tree indexes, which means that b-tree indexes + on text, varchar, or char columns may now + be corrupt if they sort according to an affected locale and were + built or modified under PostgreSQL 9.5.0 or 9.5.1. + Users should REINDEX indexes that might be affected. + + + + It is not possible at this time to give an exhaustive list of + known-affected locales. C locale is known safe, and + there is no evidence of trouble in English-based locales such + as en_US, but some other popular locales such + as de_DE are affected in most glibc versions. + + + + + + + + Fix incorrect handling of indexed ROW() comparisons + (Simon Riggs) + + + + Flaws in a minor optimization introduced in 9.5 caused incorrect + results if the ROW() comparison matches the index ordering + partially but not exactly (for example, differing column order, or the + index contains both ASC and DESC columns). + Pending a better solution, the optimization has been removed. + + + + + + + + Fix incorrect handling of NULL index entries in + indexed ROW() comparisons (Tom Lane) + + + + An index search using a row comparison such as ROW(a, b) > + ROW('x', 'y') would stop upon reaching a NULL entry in + the b column, ignoring the fact that there might be + non-NULL b values associated with later values + of a. + + + + + + + + Avoid unlikely data-loss scenarios due to renaming files without + adequate fsync() calls before and after (Michael Paquier, + Tomas Vondra, Andres Freund) + + + + + + + + Fix incorrect behavior when rechecking a just-modified row in a query + that does SELECT FOR UPDATE/SHARE and contains some + relations that need not be locked (Tom Lane) + + + + Rows from non-locked relations were incorrectly treated as containing + all NULLs during the recheck, which could result in incorrectly + deciding that the updated row no longer passes the WHERE + condition, or in incorrectly outputting NULLs. + + + + + + + + Fix bug in json_to_record() when a field of its input + object contains a sub-object with a field name matching one of the + requested output column names (Tom Lane) + + + + + + + + Fix nonsense result from two-argument form + of jsonb_object() when called with empty arrays + (Michael Paquier, Andrew Dunstan) + + + + + + + + Fix misbehavior in jsonb_set() when converting a path + array element into an integer for use as an array subscript + (Michael Paquier) + + + + + + + + Fix misformatting of negative time zone offsets + by to_char()'s OF format code + (Thomas Munro, Tom Lane) + + + + + + + + Fix possible incorrect logging of waits done by + INSERT ... ON CONFLICT (Peter Geoghegan) + + + + Log messages would sometimes claim that the wait was due to an + exclusion constraint although no such constraint was responsible. + + + + + + + + Ignore parameter until + recovery has reached a consistent state (Michael Paquier) + + + + Previously, standby servers would delay application of WAL records in + response to recovery_min_apply_delay even while replaying + the initial portion of WAL needed to make their database state valid. + Since the standby is useless until it's reached a consistent database + state, this was deemed unhelpful. + + + + + + + + Correctly handle wraparound cases in the pg_subtrans + startup logic for hot standby (Jeff Janes) + + + + + + + + Fix assorted bugs in logical decoding (Andres Freund) + + + + Trouble cases included tuples larger than one page when replica + identity is FULL, UPDATEs that change a + primary key in a transaction large enough to be spooled to disk, + incorrect reports of subxact logged without previous toplevel + record, and incorrect reporting of a transaction's commit time. + + + + + + + + Fix planner error with nested security barrier views when the outer + view has a WHERE clause containing a correlated subquery + (Dean Rasheed) + + + + + + + + Fix memory leak in GIN index searches (Tom Lane) + + + + + + + + Fix corner-case crash due to trying to free localeconv() + output strings more than once (Tom Lane) + + + + + + + + Fix parsing of affix files for ispell dictionaries + (Tom Lane) + + + + The code could go wrong if the affix file contained any characters + whose byte length changes during case-folding, for + example I in Turkish UTF8 locales. + + + + + + + + Avoid use of sscanf() to parse ispell + dictionary files (Artur Zakirov) + + + + This dodges a portability problem on FreeBSD-derived platforms + (including OS X). + + + + + + + + Fix atomic-operations code used on PPC with IBM's xlc compiler + (Noah Misch) + + + + This error led to rare failures of concurrent operations on that + platform. + + + + + + + + Avoid a crash on old Windows versions (before 7SP1/2008R2SP1) with an + AVX2-capable CPU and a Postgres build done with Visual Studio 2013 + (Christian Ullrich) + + + + This is a workaround for a bug in Visual Studio 2013's runtime + library, which Microsoft have stated they will not fix in that + version. + + + + + + + + Fix psql's tab completion logic to handle multibyte + characters properly (Kyotaro Horiguchi, Robert Haas) + + + + + + + + Fix psql's tab completion after + SECURITY LABEL (Tom Lane) + + + + Pressing TAB after SECURITY LABEL might cause a crash + or offering of inappropriate keywords. + + + + + + + + Make pg_ctl accept a wait timeout from the + PGCTLTIMEOUT environment variable, if none is specified on + the command line (Noah Misch) + + + + This eases testing of slower buildfarm members by allowing them + to globally specify a longer-than-normal timeout for postmaster + startup and shutdown. + + + + + + + + Fix incorrect test for Windows service status + in pg_ctl (Manuel Mathar) + + + + The previous set of minor releases attempted to + fix pg_ctl to properly determine whether to send log + messages to Window's Event Log, but got the test backwards. + + + + + + + + Fix pgbench to correctly handle the combination + of -C and -M prepared options (Tom Lane) + + + + + + + + In pg_upgrade, skip creating a deletion script when + the new data directory is inside the old data directory (Bruce + Momjian) + + + + Blind application of the script in such cases would result in loss of + the new data directory. + + + + + + + + In PL/Perl, properly translate empty Postgres arrays into empty Perl + arrays (Alex Hunsaker) + + + + + + + + Make PL/Python cope with function names that aren't valid Python + identifiers (Jim Nasby) + + + + + + + + Fix multiple mistakes in the statistics returned + by contrib/pgstattuple's pgstatindex() + function (Tom Lane) + + + + + + + + Remove dependency on psed in MSVC builds, since it's no + longer provided by core Perl (Michael Paquier, Andrew Dunstan) + + + + + + + + Update time zone data files to tzdata release 2016c + for DST law changes in Azerbaijan, Chile, Haiti, Palestine, and Russia + (Altai, Astrakhan, Kirov, Sakhalin, Ulyanovsk regions), plus + historical corrections for Lithuania, Moldova, and Russia + (Kaliningrad, Samara, Volgograd). + + + + + + + + Release 9.5.1