Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
E.43. Release 9.5.2
Prev UpAppendix E. Release NotesHome Next

E.43. 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, seeSection E.45.

E.43.1. Migration to Version 9.5.2

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

However, you may need toREINDEX some indexes after applying the update, as per the first changelog entry below.

E.43.2. 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 functionstrxfrm() as a substitute forstrcoll(). It now emerges that most versions of glibc (Linux's implementation of the C library) have buggy implementations ofstrxfrm() that, in some locales, can produce string comparison results that do not matchstrcoll(). Until this problem can be better characterized, disable the optimization in all non-C locales. (C locale is safe since it uses neitherstrcoll() norstrxfrm().)

    Unfortunately, this problem affects not only sorting but also entry ordering in B-tree indexes, which means that B-tree indexes ontext,varchar, orchar columns may now be corrupt if they sort according to an affected locale and were built or modified underPostgreSQL 9.5.0 or 9.5.1. Users shouldREINDEX 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 asen_US, but some other popular locales such asde_DE are affected in most glibc versions.

  • Maintain row-security status properly in cached plans (Stephen Frost)

    In a session that performs queries as more than one role, the plan cache might incorrectly re-use a plan that was generated for another role ID, thus possibly applying the wrong set of policies when row-level security (RLS) is in use. (CVE-2016-2193)

  • Add must-be-superuser checks to some newcontrib/pageinspect functions (Andreas Seltenreich)

    Most functions in thepageinspect extension that inspectbytea values disallow calls by non-superusers, butbrin_page_type() andbrin_metapage_info() failed to do so. Passing contrivedbytea values to them might crash the server or disclose a few bytes of server memory. Add the missing permissions checks to prevent misuse. (CVE-2016-3065)

  • Fix incorrect handling of indexedROW() comparisons (Simon Riggs)

    Flaws in a minor optimization introduced in 9.5 caused incorrect results if theROW() comparison matches the index ordering partially but not exactly (for example, differing column order, or the index contains bothASC andDESC columns). Pending a better solution, the optimization has been removed.

  • Fix incorrect handling of NULL index entries in indexedROW() comparisons (Tom Lane)

    An index search using a row comparison such asROW(a, b) > ROW('x', 'y') would stop upon reaching a NULL entry in theb column, ignoring the fact that there might be non-NULLb values associated with later values ofa.

  • Avoid unlikely data-loss scenarios due to renaming files without adequatefsync() calls before and after (Michael Paquier, Tomas Vondra, Andres Freund)

  • Fix incorrect behavior when rechecking a just-modified row in a query that doesSELECT 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 theWHERE condition, or in incorrectly outputting NULLs.

  • Fix bug injson_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 ofjsonb_object() when called with empty arrays (Michael Paquier, Andrew Dunstan)

  • Fix misbehavior injsonb_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 byto_char()'sOF format code (Thomas Munro, Tom Lane)

  • Fix possible incorrect logging of waits done byINSERT ... ON CONFLICT (Peter Geoghegan)

    Log messages would sometimes claim that the wait was due to an exclusion constraint although no such constraint was responsible.

  • Ignorerecovery_min_apply_delay parameter until recovery has reached a consistent state (Michael Paquier)

    Previously, standby servers would delay application of WAL records in response torecovery_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 cases wherepg_subtrans is close to XID wraparound during server startup (Jeff Janes)

  • Fix assorted bugs in logical decoding (Andres Freund)

    Trouble cases included tuples larger than one page when replica identity isFULL,UPDATEs that change a primary key within a transaction large enough to be spooled to disk, incorrect reports ofsubxact 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 aWHERE clause containing a correlated subquery (Dean Rasheed)

  • Fix memory leak in GIN index searches (Tom Lane)

  • Fix corner-case crash due to trying to freelocaleconv() output strings more than once (Tom Lane)

  • Fix parsing of affix files forispell dictionaries (Tom Lane)

    The code could go wrong if the affix file contained any characters whose byte length changes during case-folding, for exampleI in Turkish UTF8 locales.

  • Avoid use ofsscanf() to parseispell dictionary files (Artur Zakirov)

    This dodges a portability problem on FreeBSD-derived platforms (including macOS).

  • 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.

  • Fixpsql's tab completion logic to handle multibyte characters properly (Kyotaro Horiguchi, Robert Haas)

  • Fixpsql's tab completion forSECURITY LABEL (Tom Lane)

    Pressing TAB afterSECURITY LABEL might cause a crash or offering of inappropriate keywords.

  • Makepg_ctl accept a wait timeout from thePGCTLTIMEOUT 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 inpg_ctl (Manuel Mathar)

    The previous set of minor releases attempted to fixpg_ctl to properly determine whether to send log messages to Window's Event Log, but got the test backwards.

  • Fixpgbench to correctly handle the combination of-C and-M prepared options (Tom Lane)

  • Inpg_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 bycontrib/pgstattuple'spgstatindex() function (Tom Lane)

  • Remove dependency onpsed in MSVC builds, since it's no longer provided by core Perl (Michael Paquier, Andrew Dunstan)

  • Update time zone data files totzdata 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).


Prev Up Next
E.42. Release 9.5.3 Home E.44. Release 9.5.1
pdfepub
Go to Postgres Pro Standard 9.5
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp