Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > b8b7f98cf69f44ac8934b89fac1a5999 > files > 939

postgresql9.6-docs-9.6.4-1.mga6.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Release 9.5.5</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 9.6.4 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="Release Notes"
HREF="release.html"><LINK
REL="PREVIOUS"
TITLE="Release 9.5.6"
HREF="release-9-5-6.html"><LINK
REL="NEXT"
TITLE="Release 9.5.4"
HREF="release-9-5-4.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2017-08-11T02:27:18"></HEAD
><BODY
CLASS="SECT1"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
VALIGN="bottom"
><A
HREF="index.html"
>PostgreSQL 9.6.4 Documentation</A
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
TITLE="Release 9.5.6"
HREF="release-9-5-6.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="release.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
>Appendix E. Release Notes</TD
><TD
WIDTH="20%"
ALIGN="right"
VALIGN="top"
><A
TITLE="Release 9.5.4"
HREF="release-9-5-4.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="RELEASE-9-5-5"
>E.9. Release 9.5.5</A
></H1
><DIV
CLASS="FORMALPARA"
><P
><B
>Release date: </B
>2016-10-27</P
></DIV
><P
>   This release contains a variety of fixes from 9.5.4.
   For information about new features in the 9.5 major release, see
   <A
HREF="release-9-5.html"
>Section E.14</A
>.
  </P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN133509"
>E.9.1. Migration to Version 9.5.5</A
></H2
><P
>    A dump/restore is not required for those running 9.5.X.
   </P
><P
>    However, if your installation has been affected by the bug described in
    the first changelog entry below, then after updating you may need
    to take action to repair corrupted free space maps.
   </P
><P
>    Also, if you are upgrading from a version earlier than 9.5.2,
    see <A
HREF="release-9-5-2.html"
>Section E.12</A
>.
   </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN133515"
>E.9.2. Changes</A
></H2
><P
></P
><UL
><LI
><P
>      Fix WAL-logging of truncation of relation free space maps and
      visibility maps (Pavan Deolasee, Heikki Linnakangas)
     </P
><P
>      It was possible for these files to not be correctly restored during
      crash recovery, or to be written incorrectly on a standby server.
      Bogus entries in a free space map could lead to attempts to access
      pages that have been truncated away from the relation itself, typically
      producing errors like <SPAN
CLASS="QUOTE"
>"could not read block <TT
CLASS="REPLACEABLE"
><I
>XXX</I
></TT
>:
      read only 0 of 8192 bytes"</SPAN
>.  Checksum failures in the
      visibility map are also possible, if checksumming is enabled.
     </P
><P
>      Procedures for determining whether there is a problem and repairing it
      if so are discussed at
      <A
HREF="https://wiki.postgresql.org/wiki/Free_Space_Map_Problems"
TARGET="_top"
>https://wiki.postgresql.org/wiki/Free_Space_Map_Problems</A
>.
     </P
></LI
><LI
><P
>      Fix incorrect creation of GIN index WAL records on big-endian machines
      (Tom Lane)
     </P
><P
>      The typical symptom was <SPAN
CLASS="QUOTE"
>"unexpected GIN leaf action"</SPAN
> errors
      during WAL replay.
     </P
></LI
><LI
><P
>      Fix <TT
CLASS="COMMAND"
>SELECT FOR UPDATE/SHARE</TT
> to correctly lock tuples that
      have been updated by a subsequently-aborted transaction
      (&Aacute;lvaro Herrera)
     </P
><P
>      In 9.5 and later, the <TT
CLASS="COMMAND"
>SELECT</TT
> would sometimes fail to
      return such tuples at all.  A failure has not been proven to occur in
      earlier releases, but might be possible with concurrent updates.
     </P
></LI
><LI
><P
>      Fix EvalPlanQual rechecks involving CTE scans (Tom Lane)
     </P
><P
>      The recheck would always see the CTE as returning no rows, typically
      leading to failure to update rows that were recently updated.
     </P
></LI
><LI
><P
>      Fix deletion of speculatively inserted TOAST tuples when backing out
      of <TT
CLASS="COMMAND"
>INSERT ... ON CONFLICT</TT
> (Oskari Saarenmaa)
     </P
><P
>      In the race condition where two transactions try to insert conflicting
      tuples at about the same time, the loser would fail with
      an <SPAN
CLASS="QUOTE"
>"attempted to delete invisible tuple"</SPAN
> error if its
      insertion included any TOAST'ed fields.
     </P
></LI
><LI
><P
>      Don't throw serialization errors for self-conflicting insertions
      in <TT
CLASS="COMMAND"
>INSERT ... ON CONFLICT</TT
> (Thomas Munro, Peter Geoghegan)
     </P
></LI
><LI
><P
>      Fix improper repetition of previous results from hashed aggregation in
      a subquery (Andrew Gierth)
     </P
><P
>      The test to see if we can reuse a previously-computed hash table of
      the aggregate state values neglected the possibility of an outer query
      reference appearing in an aggregate argument expression.  A change in
      the value of such a reference should lead to recalculating the hash
      table, but did not.
     </P
></LI
><LI
><P
>      Fix query-lifespan memory leak in a bulk <TT
CLASS="COMMAND"
>UPDATE</TT
> on a table
      with a <TT
CLASS="LITERAL"
>PRIMARY KEY</TT
> or <TT
CLASS="LITERAL"
>REPLICA IDENTITY</TT
> index
      (Tom Lane)
     </P
></LI
><LI
><P
>      Fix <TT
CLASS="COMMAND"
>COPY</TT
> with a column name list from a table that has
      row-level security enabled (Adam Brightwell)
     </P
></LI
><LI
><P
>      Fix <TT
CLASS="COMMAND"
>EXPLAIN</TT
> to emit valid XML when
      <A
HREF="runtime-config-statistics.html#GUC-TRACK-IO-TIMING"
>track_io_timing</A
> is on (Markus Winand)
     </P
><P
>      Previously the XML output-format option produced syntactically invalid
      tags such as <TT
CLASS="LITERAL"
>&lt;I/O-Read-Time&gt;</TT
>.  That is now
      rendered as <TT
CLASS="LITERAL"
>&lt;I-O-Read-Time&gt;</TT
>.
     </P
></LI
><LI
><P
>      Suppress printing of zeroes for unmeasured times
      in <TT
CLASS="COMMAND"
>EXPLAIN</TT
> (Maksim Milyutin)
     </P
><P
>      Certain option combinations resulted in printing zero values for times
      that actually aren't ever measured in that combination.  Our general
      policy in <TT
CLASS="COMMAND"
>EXPLAIN</TT
> is not to print such fields at all, so
      do that consistently in all cases.
     </P
></LI
><LI
><P
>      Fix statistics update for <TT
CLASS="COMMAND"
>TRUNCATE</TT
> in a prepared
      transaction (Stas Kelvich)
     </P
></LI
><LI
><P
>      Fix timeout length when <TT
CLASS="COMMAND"
>VACUUM</TT
> is waiting for exclusive
      table lock so that it can truncate the table (Simon Riggs)
     </P
><P
>      The timeout was meant to be 50 milliseconds, but it was actually only
      50 microseconds, causing <TT
CLASS="COMMAND"
>VACUUM</TT
> to give up on truncation
      much more easily than intended.  Set it to the intended value.
     </P
></LI
><LI
><P
>      Fix bugs in merging inherited <TT
CLASS="LITERAL"
>CHECK</TT
> constraints while
      creating or altering a table (Tom Lane, Amit Langote)
     </P
><P
>      Allow identical <TT
CLASS="LITERAL"
>CHECK</TT
> constraints to be added to a parent
      and child table in either order.  Prevent merging of a valid
      constraint from the parent table with a <TT
CLASS="LITERAL"
>NOT VALID</TT
>
      constraint on the child.  Likewise, prevent merging of a <TT
CLASS="LITERAL"
>NO
      INHERIT</TT
> child constraint with an inherited constraint.
     </P
></LI
><LI
><P
>      Show a sensible value
      in <TT
CLASS="STRUCTNAME"
>pg_settings</TT
>.<TT
CLASS="STRUCTFIELD"
>unit</TT
>
      for <TT
CLASS="VARNAME"
>min_wal_size</TT
> and <TT
CLASS="VARNAME"
>max_wal_size</TT
> (Tom Lane)
     </P
></LI
><LI
><P
>      Remove artificial restrictions on the values accepted
      by <CODE
CLASS="FUNCTION"
>numeric_in()</CODE
> and <CODE
CLASS="FUNCTION"
>numeric_recv()</CODE
>
      (Tom Lane)
     </P
><P
>      We allow numeric values up to the limit of the storage format (more
      than <TT
CLASS="LITERAL"
>1e100000</TT
>), so it seems fairly pointless
      that <CODE
CLASS="FUNCTION"
>numeric_in()</CODE
> rejected scientific-notation exponents
      above 1000.  Likewise, it was silly for <CODE
CLASS="FUNCTION"
>numeric_recv()</CODE
> to
      reject more than 1000 digits in an input value.
     </P
></LI
><LI
><P
>      Avoid very-low-probability data corruption due to testing tuple
      visibility without holding buffer lock (Thomas Munro, Peter Geoghegan,
      Tom Lane)
     </P
></LI
><LI
><P
>      Preserve commit timestamps across server restart
      (Julien Rouhaud, Craig Ringer)
     </P
><P
>      With <A
HREF="runtime-config-replication.html#GUC-TRACK-COMMIT-TIMESTAMP"
>track_commit_timestamp</A
> turned on, old
      commit timestamps became inaccessible after a clean server restart.
     </P
></LI
><LI
><P
>      Fix logical WAL decoding to work properly when a subtransaction's WAL
      output is large enough to spill to disk (Andres Freund)
     </P
></LI
><LI
><P
>      Fix possible sorting error when aborting use of abbreviated keys
      (Peter Geoghegan)
     </P
><P
>      In the worst case, this could result in a corrupt btree index, which
      would need to be rebuilt using <TT
CLASS="COMMAND"
>REINDEX</TT
>.  However, the
      situation is believed to be rare.
     </P
></LI
><LI
><P
>      Fix file descriptor leakage when truncating a temporary relation of
      more than 1GB (Andres Freund)
     </P
></LI
><LI
><P
>      Disallow starting a standalone backend with <TT
CLASS="LITERAL"
>standby_mode</TT
>
      turned on (Michael Paquier)
     </P
><P
>      This can't do anything useful, since there will be no WAL receiver
      process to fetch more WAL data; and it could result in misbehavior
      in code that wasn't designed with this situation in mind.
     </P
></LI
><LI
><P
>      Properly initialize replication slot state when recycling a
      previously-used slot (Michael Paquier)
     </P
><P
>      This failure to reset all of the fields of the slot could
      prevent <TT
CLASS="COMMAND"
>VACUUM</TT
> from removing dead tuples.
     </P
></LI
><LI
><P
>      Round shared-memory allocation request to a multiple of the actual
      huge page size when attempting to use huge pages on Linux (Tom Lane)
     </P
><P
>      This avoids possible failures during <CODE
CLASS="FUNCTION"
>munmap()</CODE
> on systems
      with atypical default huge page sizes.  Except in crash-recovery
      cases, there were no ill effects other than a log message.
     </P
></LI
><LI
><P
>      Use a more random value for the dynamic shared memory control
      segment's ID (Robert Haas, Tom Lane)
     </P
><P
>      Previously, the same value would be chosen every time, because it was
      derived from <CODE
CLASS="FUNCTION"
>random()</CODE
> but <CODE
CLASS="FUNCTION"
>srandom()</CODE
> had not
      yet been called.  While relatively harmless, this was not the intended
      behavior.
     </P
></LI
><LI
><P
>      On Windows, retry creation of the dynamic shared memory control
      segment after an access-denied error (Kyotaro Horiguchi, Amit Kapila)
     </P
><P
>      Windows sometimes returns <TT
CLASS="LITERAL"
>ERROR_ACCESS_DENIED</TT
> rather
      than <TT
CLASS="LITERAL"
>ERROR_ALREADY_EXISTS</TT
> when there is an existing
      segment.  This led to postmaster startup failure due to believing that
      the former was an unrecoverable error.
     </P
></LI
><LI
><P
>      Fix <SPAN
CLASS="APPLICATION"
>PL/pgSQL</SPAN
> to not misbehave with parameters and
      local variables of type <TT
CLASS="TYPE"
>int2vector</TT
> or <TT
CLASS="TYPE"
>oidvector</TT
>
      (Tom Lane)
     </P
></LI
><LI
><P
>      Don't try to share SSL contexts across multiple connections
      in <SPAN
CLASS="APPLICATION"
>libpq</SPAN
> (Heikki Linnakangas)
     </P
><P
>      This led to assorted corner-case bugs, particularly when trying to use
      different SSL parameters for different connections.
     </P
></LI
><LI
><P
>      Avoid corner-case memory leak in <SPAN
CLASS="APPLICATION"
>libpq</SPAN
> (Tom Lane)
     </P
><P
>      The reported problem involved leaking an error report
      during <CODE
CLASS="FUNCTION"
>PQreset()</CODE
>, but there might be related cases.
     </P
></LI
><LI
><P
>      Make <SPAN
CLASS="APPLICATION"
>ecpg</SPAN
>'s <TT
CLASS="OPTION"
>--help</TT
> and <TT
CLASS="OPTION"
>--version</TT
>
      options work consistently with our other executables (Haribabu Kommi)
     </P
></LI
><LI
><P
>      Fix <SPAN
CLASS="APPLICATION"
>pgbench</SPAN
>'s calculation of average latency
      (Fabien Coelho)
     </P
><P
>      The calculation was incorrect when there were <TT
CLASS="LITERAL"
>\sleep</TT
>
      commands in the script, or when the test duration was specified in
      number of transactions rather than total time.
     </P
></LI
><LI
><P
>      In <SPAN
CLASS="APPLICATION"
>pg_upgrade</SPAN
>, check library loadability in name order
      (Tom Lane)
     </P
><P
>      This is a workaround to deal with cross-extension dependencies from
      language transform modules to their base language and data type
      modules.
     </P
></LI
><LI
><P
>      In <SPAN
CLASS="APPLICATION"
>pg_dump</SPAN
>, never dump range constructor functions
      (Tom Lane)
     </P
><P
>      This oversight led to <SPAN
CLASS="APPLICATION"
>pg_upgrade</SPAN
> failures with
      extensions containing range types, due to duplicate creation of the
      constructor functions.
     </P
></LI
><LI
><P
>      In <SPAN
CLASS="APPLICATION"
>pg_dump</SPAN
> with <TT
CLASS="OPTION"
>-C</TT
>,
      suppress <TT
CLASS="LITERAL"
>TABLESPACE</TT
> clause of <TT
CLASS="COMMAND"
>CREATE DATABASE</TT
>
      if <TT
CLASS="OPTION"
>--no-tablespaces</TT
> is specified (Tom Lane)
     </P
></LI
><LI
><P
>      Make <SPAN
CLASS="APPLICATION"
>pg_receivexlog</SPAN
> work correctly
      with <TT
CLASS="OPTION"
>--synchronous</TT
> without slots (Gabriele Bartolini)
     </P
></LI
><LI
><P
>      Disallow specifying both <TT
CLASS="OPTION"
>--source-server</TT
>
      and <TT
CLASS="OPTION"
>--source-target</TT
> options to <SPAN
CLASS="APPLICATION"
>pg_rewind</SPAN
>
      (Michael Banck)
     </P
></LI
><LI
><P
>      Make <SPAN
CLASS="APPLICATION"
>pg_rewind</SPAN
> turn off <TT
CLASS="VARNAME"
>synchronous_commit</TT
>
      in its session on the source server (Michael Banck, Michael Paquier)
     </P
><P
>      This allows <SPAN
CLASS="APPLICATION"
>pg_rewind</SPAN
> to work even when the source
      server is using synchronous replication that is not working for some
      reason.
     </P
></LI
><LI
><P
>      In <SPAN
CLASS="APPLICATION"
>pg_xlogdump</SPAN
>, retry opening new WAL segments when
      using <TT
CLASS="OPTION"
>--follow</TT
> option (Magnus Hagander)
     </P
><P
>      This allows for a possible delay in the server's creation of the next
      segment.
     </P
></LI
><LI
><P
>      Fix <SPAN
CLASS="APPLICATION"
>pg_xlogdump</SPAN
> to cope with a WAL file that begins
      with a continuation record spanning more than one page (Pavan
      Deolasee)
     </P
></LI
><LI
><P
>      Fix <TT
CLASS="FILENAME"
>contrib/pg_buffercache</TT
> to work
      when <TT
CLASS="VARNAME"
>shared_buffers</TT
> exceeds 256GB (KaiGai Kohei)
     </P
></LI
><LI
><P
>      Fix <TT
CLASS="FILENAME"
>contrib/intarray/bench/bench.pl</TT
> to print the results
      of the <TT
CLASS="COMMAND"
>EXPLAIN</TT
> it does when given the <TT
CLASS="OPTION"
>-e</TT
> option
      (Daniel Gustafsson)
     </P
></LI
><LI
><P
>      Support OpenSSL 1.1.0 (Heikki Linnakangas)
     </P
></LI
><LI
><P
>      Install TAP test infrastructure so that it's available for extension
      testing (Craig Ringer)
     </P
><P
>      When <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
> has been configured
      with <TT
CLASS="OPTION"
>--enable-tap-tests</TT
>, <SPAN
CLASS="QUOTE"
>"make install"</SPAN
> will now
      install the Perl support files for TAP testing where PGXS can find
      them.  This allows non-core extensions to
      use <TT
CLASS="LITERAL"
>$(prove_check)</TT
> without extra tests.
     </P
></LI
><LI
><P
>      In MSVC builds, include <SPAN
CLASS="APPLICATION"
>pg_recvlogical</SPAN
> in a
      client-only installation (MauMau)
     </P
></LI
><LI
><P
>      Update Windows time zone mapping to recognize some time zone names
      added in recent Windows versions (Michael Paquier)
     </P
></LI
><LI
><P
>      Prevent failure of obsolete dynamic time zone abbreviations (Tom Lane)
     </P
><P
>      If a dynamic time zone abbreviation does not match any entry in the
      referenced time zone, treat it as equivalent to the time zone name.
      This avoids unexpected failures when IANA removes abbreviations from
      their time zone database, as they did in <SPAN
CLASS="APPLICATION"
>tzdata</SPAN
>
      release 2016f and seem likely to do again in the future.  The
      consequences were not limited to not recognizing the individual
      abbreviation; any mismatch caused
      the <TT
CLASS="STRUCTNAME"
>pg_timezone_abbrevs</TT
> view to fail altogether.
     </P
></LI
><LI
><P
>      Update time zone data files to <SPAN
CLASS="APPLICATION"
>tzdata</SPAN
> release 2016h
      for DST law changes in Palestine and Turkey, plus historical
      corrections for Turkey and some regions of Russia.
      Switch to numeric abbreviations for some time zones in Antarctica,
      the former Soviet Union, and Sri Lanka.
     </P
><P
>      The IANA time zone database previously provided textual abbreviations
      for all time zones, sometimes making up abbreviations that have little
      or no currency among the local population.  They are in process of
      reversing that policy in favor of using numeric UTC offsets in zones
      where there is no evidence of real-world use of an English
      abbreviation.  At least for the time being, <SPAN
CLASS="PRODUCTNAME"
>PostgreSQL</SPAN
>
      will continue to accept such removed abbreviations for timestamp input.
      But they will not be shown in the <TT
CLASS="STRUCTNAME"
>pg_timezone_names</TT
>
      view nor used for output.
     </P
><P
>      In this update, <TT
CLASS="LITERAL"
>AMT</TT
> is no longer shown as being in use to
      mean Armenia Time.  Therefore, we have changed the <TT
CLASS="LITERAL"
>Default</TT
>
      abbreviation set to interpret it as Amazon Time, thus UTC-4 not UTC+4.
     </P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="release-9-5-6.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="release-9-5-4.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Release 9.5.6</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="release.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Release 9.5.4</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>