Changes between Initial Version and Version 1 of Ticket #8484


Ignore:
Timestamp:
10/29/2016 05:57:09 PM (7 years ago)
Author:
Douglas R. Reno
Comment:

Add changes

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #8484

    • Property Priority normalhigh
  • Ticket #8484 – Description

    initial v1  
    11New point version
     2
     3{{{
     4The PostgreSQL Global Development Group is pleased to announce the availability of PostgreSQL 9.6.1, 9.5.5, 9.4.10, 9.3.15, 9.2.19 and 9.1.24.
     5
     6This release fixes issues that can cause data corruption, which are described in the release notes. It also patches a number of other bugs reported over the last few months. The project urges users to apply this update at the next possible downtime.
     7}}}
     8
     9
     10{{{
     11E.1.2. Changes
     12
     13Fix WAL-logging of truncation of relation free space maps and visibility maps (Pavan Deolasee, Heikki Linnakangas)
     14
     15It 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 "could not read block XXX: read only 0 of 8192 bytes". Checksum failures in the visibility map are also possible, if checksumming is enabled.
     16
     17Procedures for determining whether there is a problem and repairing it if so are discussed at https://wiki.postgresql.org/wiki/Free_Space_Map_Problems.
     18
     19Fix possible data corruption when pg_upgrade rewrites a relation visibility map into 9.6 format (Tom Lane)
     20
     21On big-endian machines, bytes of the new visibility map were written in the wrong order, leading to a completely incorrect map. On Windows, the old map was read using text mode, leading to incorrect results if the map happened to contain consecutive bytes that matched a carriage return/line feed sequence. The latter error would almost always lead to a pg_upgrade failure due to the map file appearing to be the wrong length.
     22
     23If you are using a big-endian machine (many non-Intel architectures are big-endian) and have used pg_upgrade to upgrade from a pre-9.6 release, you should assume that all visibility maps are incorrect and need to be regenerated. It is sufficient to truncate each relation's visibility map with contrib/pg_visibility's pg_truncate_visibility_map() function. For more information see https://wiki.postgresql.org/wiki/Visibility_Map_Problems.
     24
     25Don't throw serialization errors for self-conflicting insertions in INSERT ... ON CONFLICT (Thomas Munro, Peter Geoghegan)
     26
     27Fix use-after-free hazard in execution of aggregate functions using DISTINCT (Peter Geoghegan)
     28
     29This could lead to a crash or incorrect query results.
     30
     31Fix incorrect handling of polymorphic aggregates used as window functions (Tom Lane)
     32
     33The aggregate's transition function was told that its first argument and result were of the aggregate's output type, rather than the state type. This led to errors or crashes with polymorphic transition functions.
     34
     35Fix COPY with a column name list from a table that has row-level security enabled (Adam Brightwell)
     36
     37Fix EXPLAIN to emit valid XML when track_io_timing is on (Markus Winand)
     38
     39Previously the XML output-format option produced syntactically invalid tags such as <I/O-Read-Time>. That is now rendered as <I-O-Read-Time>.
     40
     41Fix statistics update for TRUNCATE in a prepared transaction (Stas Kelvich)
     42
     43Fix bugs in merging inherited CHECK constraints while creating or altering a table (Tom Lane, Amit Langote)
     44
     45Allow identical CHECK 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 NOT VALID constraint on the child. Likewise, prevent merging of a NO INHERIT child constraint with an inherited constraint.
     46
     47Show a sensible value in pg_settings.unit for min_wal_size and max_wal_size (Tom Lane)
     48
     49Fix replacement of array elements in jsonb_set() (Tom Lane)
     50
     51If the target is an existing JSON array element, it got deleted instead of being replaced with a new value.
     52
     53Avoid very-low-probability data corruption due to testing tuple visibility without holding buffer lock (Thomas Munro, Peter Geoghegan, Tom Lane)
     54
     55Preserve commit timestamps across server restart (Julien Rouhaud, Craig Ringer)
     56
     57With track_commit_timestamp turned on, old commit timestamps became inaccessible after a clean server restart.
     58
     59Fix logical WAL decoding to work properly when a subtransaction's WAL output is large enough to spill to disk (Andres Freund)
     60
     61Fix dangling-pointer problem in logical WAL decoding (Stas Kelvich)
     62
     63Round shared-memory allocation request to a multiple of the actual huge page size when attempting to use huge pages on Linux (Tom Lane)
     64
     65This avoids possible failures during munmap() on systems with atypical default huge page sizes. Except in crash-recovery cases, there were no ill effects other than a log message.
     66
     67Don't try to share SSL contexts across multiple connections in libpq (Heikki Linnakangas)
     68
     69This led to assorted corner-case bugs, particularly when trying to use different SSL parameters for different connections.
     70
     71Avoid corner-case memory leak in libpq (Tom Lane)
     72
     73The reported problem involved leaking an error report during PQreset(), but there might be related cases.
     74
     75In pg_upgrade, check library loadability in name order (Tom Lane)
     76
     77This is a workaround to deal with cross-extension dependencies from language transform modules to their base language and data type modules.
     78
     79Fix pg_upgrade to work correctly for extensions containing index access methods (Tom Lane)
     80
     81To allow this, the server has been extended to support ALTER EXTENSION ADD/DROP ACCESS METHOD. That functionality should have been included in the original patch to support dynamic creation of access methods, but it was overlooked.
     82
     83Improve error reporting in pg_upgrade's file copying/linking/rewriting steps (Tom Lane, Álvaro Herrera)
     84
     85Fix pg_dump to work against pre-7.4 servers (Amit Langote, Tom Lane)
     86
     87Disallow specifying both --source-server and --source-target options to pg_rewind (Michael Banck)
     88
     89Make pg_rewind turn off synchronous_commit in its session on the source server (Michael Banck, Michael Paquier)
     90
     91This allows pg_rewind to work even when the source server is using synchronous replication that is not working for some reason.
     92
     93In pg_xlogdump, retry opening new WAL segments when using --follow option (Magnus Hagander)
     94
     95This allows for a possible delay in the server's creation of the next segment.
     96
     97Fix contrib/pg_visibility to report the correct TID for a corrupt tuple that has been the subject of a rolled-back update (Tom Lane)
     98
     99Fix makefile dependencies so that parallel make of PL/Python by itself will succeed reliably (Pavel Raiskup)
     100
     101Update time zone data files to tzdata 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.
     102
     103The 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, PostgreSQL will continue to accept such removed abbreviations for timestamp input. But they will not be shown in the pg_timezone_names view nor used for output.
     104
     105In this update, AMT is no longer shown as being in use to mean Armenia Time. Therefore, we have changed the Default abbreviation set to interpret it as Amazon Time, thus UTC-4 not UTC+4.
     106}}}