Release notes for 9.4.2, 9.3.7, 9.2.11, 9.1.16, 9.0.20.
authorTom Lane
Sun, 17 May 2015 19:54:20 +0000 (15:54 -0400)
committerTom Lane
Sun, 17 May 2015 19:54:20 +0000 (15:54 -0400)
doc/src/sgml/release-9.0.sgml
doc/src/sgml/release-9.1.sgml
doc/src/sgml/release-9.2.sgml
doc/src/sgml/release-9.3.sgml

index 90339a5eaed097488a4d7d3d729e357cf54463c1..c3fcbf7b6be5e0262653af5133acccac0e51ab5d 100644 (file)
@@ -1,6 +1,386 @@
 
 
 
+  Release 9.0.20
+
+  
+  Release Date
+  2015-05-21
+  
+
+  
+   This release contains a variety of fixes from 9.0.19.
+   For information about new features in the 9.0 major release, see
+   .
+  
+
+  
+   The PostgreSQL community will stop releasing updates
+   for the 9.0.X release series in September 2015.
+   Users are encouraged to update to a newer release branch soon.
+  
+
+  
+   Migration to Version 9.0.20
+
+   
+    A dump/restore is not required for those running 9.0.X.
+   
+
+   
+    However, if you are upgrading from a version earlier than 9.0.18,
+    see .
+   
+
+  
+
+  
+   Changes
+
+   
+
+    
+     
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     
+
+     
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     
+    
+
+    
+     
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     
+
+     
+      This oversight in the planner has been observed to cause could
+      not find RelOptInfo for given relids errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     
+    
+
+    
+     
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     
+
+     
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     
+    
+
+    
+     
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     
+
+     
+      This oversight has been seen to lead to failed to join all
+      relations together errors in queries involving LATERAL,
+      and that might happen in other cases as well.
+     
+    
+
+    
+     
+      Fix possible deadlock at startup
+      when max_prepared_transactions is too small
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Recursively fsync() the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     
+
+     
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     
+    
+
+    
+     
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (Álvaro Herrera)
+     
+    
+
+    
+     
+      Cope with unexpected signals in LockBufferForCleanup()
+      (Andres Freund)
+     
+
+     
+      This oversight could result in spurious errors about multiple
+      backends attempting to wait for pincount 1.
+     
+    
+
+    
+     
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     
+
+     
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     
+    
+
+    
+     
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     
+    
+
+    
+     
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     
+
+     
+      ANALYZE executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the ANALYZE before that loop finishes.
+     
+    
+
+    
+     
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (Álvaro Herrera)
+     
+    
+
+    
+     
+      Recommend setting include_realm to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     
+
+     
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in PostgreSQL 9.5.
+     
+    
+
+    
+     
+      Remove code for matching IPv4 pg_hba.conf entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     
+
+     
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 pg_hba.conf entries, which does not seem like a good
+      thing to do in minor releases.)
+     
+    
+
+    
+     
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that pg_ctl will wait for
+      shutdown (Krystian Bigaj)
+     
+    
+
+    
+     
+      Reduce risk of network deadlock when using libpq's
+      non-blocking mode (Heikki Linnakangas)
+     
+
+     
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during COPY FROM
+      STDIN.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified libpq
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call PQconsumeInput() upon read-ready.
+     
+    
+
+    
+     
+      Fix array handling in ecpg (Michael Meskes)
+     
+    
+
+    
+     
+      Fix psql to sanely handle URIs and conninfo strings as
+      the first parameter to \connect
+      (David Fetter, Andrew Dunstan, Álvaro Herrera)
+     
+
+     
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     
+    
+
+    
+     
+      Suppress incorrect complaints from psql on some
+      platforms that it failed to write ~/.psql_history at exit
+      (Tom Lane)
+     
+
+     
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of libedit.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of libedit.
+      Recommendation: upgrade that library, or use libreadline.
+     
+    
+
+    
+     
+      Fix pg_dump's rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     
+    
+
+    
+     
+      Fix dumping of views that are just VALUES(...) but have
+      column aliases (Tom Lane)
+     
+    
+
+    
+     
+      In pg_upgrade, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     
+
+     
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     
+    
+
+    
+     
+      In pg_upgrade, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, quote directory paths
+      properly in the generated delete_old_cluster script
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     
+
+     
+      This oversight could cause missing-clog-file errors for tables within
+      the postgres and template1 databases.
+     
+    
+
+    
+     
+      Run pg_upgrade and pg_resetxlog with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     
+    
+
+    
+     
+      Fix slow sorting algorithm in contrib/intarray (Tom Lane)
+     
+    
+
+    
+     
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     
+    
+
+    
+     
+      Update time zone data files to tzdata release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     
+    
+
+   
+
+  
+
  
   Release 9.0.19
 
index eed8a365a1b4ecfd0098c0ed32c29ef55c91555e..7aecb5e09c09946c07307819505d3a10d470340e 100644 (file)
@@ -1,6 +1,468 @@
 
 
 
+  Release 9.1.16
+
+  
+  Release Date
+  2015-05-21
+  
+
+  
+   This release contains a variety of fixes from 9.1.15.
+   For information about new features in the 9.1 major release, see
+   .
+  
+
+  
+   Migration to Version 9.1.16
+
+   
+    A dump/restore is not required for those running 9.1.X.
+   
+
+   
+    However, if you use contrib/citext's
+    regexp_matches() functions, see the changelog entry below
+    about that.
+   
+
+   
+    Also, if you are upgrading from a version earlier than 9.1.14,
+    see .
+   
+
+  
+
+  
+   Changes
+
+   
+
+    
+     
+      Fix incorrect declaration of contrib/citext's
+      regexp_matches() functions (Tom Lane)
+     
+
+     
+      These functions should return setof text[], like the core
+      functions they are wrappers for; but they were incorrectly declared as
+      returning just text[].  This mistake had two results: first,
+      if there was no match you got a scalar null result, whereas what you
+      should get is an empty set (zero rows).  Second, the g flag
+      was effectively ignored, since you would get only one result array even
+      if there were multiple matches.
+     
+
+     
+      While the latter behavior is clearly a bug, there might be applications
+      depending on the former behavior; therefore the function declarations
+      will not be changed by default until PostgreSQL 9.5.
+      In pre-9.5 branches, the old behavior exists in version 1.0 of
+      the citext extension, while we have provided corrected
+      declarations in version 1.1 (which is not installed by
+      default).  To adopt the fix in pre-9.5 branches, execute
+      ALTER EXTENSION citext UPDATE TO '1.1' in each database in
+      which citext is installed.  (You can also update
+      back to 1.0 if you need to undo that.)  Be aware that either update
+      direction will require dropping and recreating any views or rules that
+      use citext's regexp_matches() functions.
+     
+    
+
+    
+     
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     
+
+     
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     
+    
+
+    
+     
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     
+
+     
+      This oversight in the planner has been observed to cause could
+      not find RelOptInfo for given relids errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     
+    
+
+    
+     
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     
+
+     
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     
+    
+
+    
+     
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     
+
+     
+      This oversight has been seen to lead to failed to join all
+      relations together errors in queries involving LATERAL,
+      and that might happen in other cases as well.
+     
+    
+
+    
+     
+      Fix possible deadlock at startup
+      when max_prepared_transactions is too small
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Recursively fsync() the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     
+
+     
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     
+    
+
+    
+     
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (Álvaro Herrera)
+     
+    
+
+    
+     
+      Cope with unexpected signals in LockBufferForCleanup()
+      (Andres Freund)
+     
+
+     
+      This oversight could result in spurious errors about multiple
+      backends attempting to wait for pincount 1.
+     
+    
+
+    
+     
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     
+
+     
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     
+    
+
+    
+     
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     
+    
+
+    
+     
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     
+
+     
+      ANALYZE executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the ANALYZE before that loop finishes.
+     
+    
+
+    
+     
+      Ensure tableoid of a foreign table is reported
+      correctly when a READ COMMITTED recheck occurs after
+      locking rows in SELECT FOR UPDATE, UPDATE,
+      or DELETE (Etsuro Fujita)
+     
+    
+
+    
+     
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (Álvaro Herrera)
+     
+    
+
+    
+     
+      Recommend setting include_realm to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     
+
+     
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in PostgreSQL 9.5.
+     
+    
+
+    
+     
+      Remove code for matching IPv4 pg_hba.conf entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     
+
+     
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 pg_hba.conf entries, which does not seem like a good
+      thing to do in minor releases.)
+     
+    
+
+    
+     
+      Report WAL flush, not insert, position in IDENTIFY_SYSTEM
+      replication command (Heikki Linnakangas)
+     
+
+     
+      This avoids a possible startup failure
+      in pg_receivexlog.
+     
+    
+
+    
+     
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that pg_ctl will wait for
+      shutdown (Krystian Bigaj)
+     
+    
+
+    
+     
+      Reduce risk of network deadlock when using libpq's
+      non-blocking mode (Heikki Linnakangas)
+     
+
+     
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during COPY FROM
+      STDIN.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified libpq
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call PQconsumeInput() upon read-ready.
+     
+    
+
+    
+     
+      Fix array handling in ecpg (Michael Meskes)
+     
+    
+
+    
+     
+      Fix psql to sanely handle URIs and conninfo strings as
+      the first parameter to \connect
+      (David Fetter, Andrew Dunstan, Álvaro Herrera)
+     
+
+     
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     
+    
+
+    
+     
+      Suppress incorrect complaints from psql on some
+      platforms that it failed to write ~/.psql_history at exit
+      (Tom Lane)
+     
+
+     
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of libedit.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of libedit.
+      Recommendation: upgrade that library, or use libreadline.
+     
+    
+
+    
+     
+      Fix pg_dump's rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     
+    
+
+    
+     
+      In pg_dump, fix failure to honor -Z
+      compression level option together with -Fd
+      (Michael Paquier)
+     
+    
+
+    
+     
+      Make pg_dump consider foreign key relationships
+      between extension configuration tables while choosing dump order
+      (Gilles Darold, Michael Paquier, Stephen Frost)
+     
+
+     
+      This oversight could result in producing dumps that fail to reload
+      because foreign key constraints are transiently violated.
+     
+    
+
+    
+     
+      Fix dumping of views that are just VALUES(...) but have
+      column aliases (Tom Lane)
+     
+    
+
+    
+     
+      In pg_upgrade, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     
+
+     
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     
+    
+
+    
+     
+      In pg_upgrade, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, quote directory paths
+      properly in the generated delete_old_cluster script
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     
+
+     
+      This oversight could cause missing-clog-file errors for tables within
+      the postgres and template1 databases.
+     
+    
+
+    
+     
+      Run pg_upgrade and pg_resetxlog with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     
+    
+
+    
+     
+      Improve handling of readdir() failures when scanning
+      directories in initdb and pg_basebackup
+      (Marco Nenciarini)
+     
+    
+
+    
+     
+      Fix slow sorting algorithm in contrib/intarray (Tom Lane)
+     
+    
+
+    
+     
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     
+    
+
+    
+     
+      Update time zone data files to tzdata release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     
+    
+
+   
+
+  
+
  
   Release 9.1.15
 
 
       
        
-        Add recovery.conf setting 
-        linkend="pause-at-recovery-target">pause_at_recovery_target>
+        Add recovery.conf setting
+        pause_at_recovery_target>
         to pause recovery at target (Simon Riggs)
        
 
index 7bdbd89ae9e9a2913da37d6105a21440fc7b8bb3..9ebc92d27eddab96c411419bb7d1ebb9f520c1ce 100644 (file)
@@ -1,6 +1,517 @@
 
 
 
+  Release 9.2.11
+
+  
+  Release Date
+  2015-05-21
+  
+
+  
+   This release contains a variety of fixes from 9.2.10.
+   For information about new features in the 9.2 major release, see
+   .
+  
+
+  
+   Migration to Version 9.2.11
+
+   
+    A dump/restore is not required for those running 9.2.X.
+   
+
+   
+    However, if you use contrib/citext's
+    regexp_matches() functions, see the changelog entry below
+    about that.
+   
+
+   
+    Also, if you are upgrading from a version earlier than 9.2.10,
+    see .
+   
+
+  
+
+  
+   Changes
+
+   
+
+    
+     
+      Fix incorrect declaration of contrib/citext's
+      regexp_matches() functions (Tom Lane)
+     
+
+     
+      These functions should return setof text[], like the core
+      functions they are wrappers for; but they were incorrectly declared as
+      returning just text[].  This mistake had two results: first,
+      if there was no match you got a scalar null result, whereas what you
+      should get is an empty set (zero rows).  Second, the g flag
+      was effectively ignored, since you would get only one result array even
+      if there were multiple matches.
+     
+
+     
+      While the latter behavior is clearly a bug, there might be applications
+      depending on the former behavior; therefore the function declarations
+      will not be changed by default until PostgreSQL 9.5.
+      In pre-9.5 branches, the old behavior exists in version 1.0 of
+      the citext extension, while we have provided corrected
+      declarations in version 1.1 (which is not installed by
+      default).  To adopt the fix in pre-9.5 branches, execute
+      ALTER EXTENSION citext UPDATE TO '1.1' in each database in
+      which citext is installed.  (You can also update
+      back to 1.0 if you need to undo that.)  Be aware that either update
+      direction will require dropping and recreating any views or rules that
+      use citext's regexp_matches() functions.
+     
+    
+
+    
+     
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     
+
+     
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     
+    
+
+    
+     
+      Fix planning of star-schema-style queries (Tom Lane)
+     
+
+     
+      Sometimes, efficient scanning of a large table requires that index
+      parameters be provided from more than one other table (commonly,
+      dimension tables whose keys are needed to index a large fact table).
+      The planner should be able to find such plans, but an overly
+      restrictive search heuristic prevented it.
+     
+    
+
+    
+     
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     
+
+     
+      This oversight in the planner has been observed to cause could
+      not find RelOptInfo for given relids errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     
+    
+
+    
+     
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     
+
+     
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     
+    
+
+    
+     
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     
+
+     
+      This oversight has been seen to lead to failed to join all
+      relations together errors in queries involving LATERAL,
+      and that might happen in other cases as well.
+     
+    
+
+    
+     
+      Fix possible deadlock at startup
+      when max_prepared_transactions is too small
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Recursively fsync() the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     
+
+     
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     
+    
+
+    
+     
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (Álvaro Herrera)
+     
+    
+
+    
+     
+      Cope with unexpected signals in LockBufferForCleanup()
+      (Andres Freund)
+     
+
+     
+      This oversight could result in spurious errors about multiple
+      backends attempting to wait for pincount 1.
+     
+    
+
+    
+     
+      Fix crash when doing COPY IN to a table with check
+      constraints that contain whole-row references (Tom Lane)
+     
+
+     
+      The known failure case only crashes in 9.4 and up, but there is very
+      similar code in 9.3 and 9.2, so back-patch those branches as well.
+     
+    
+
+    
+     
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     
+
+     
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     
+    
+
+    
+     
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     
+    
+
+    
+     
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     
+
+     
+      ANALYZE executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the ANALYZE before that loop finishes.
+     
+    
+
+    
+     
+      Ensure tableoid of a foreign table is reported
+      correctly when a READ COMMITTED recheck occurs after
+      locking rows in SELECT FOR UPDATE, UPDATE,
+      or DELETE (Etsuro Fujita)
+     
+    
+
+    
+     
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (Álvaro Herrera)
+     
+    
+
+    
+     
+      Recommend setting include_realm to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     
+
+     
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in PostgreSQL 9.5.
+     
+    
+
+    
+     
+      Remove code for matching IPv4 pg_hba.conf entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     
+
+     
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 pg_hba.conf entries, which does not seem like a good
+      thing to do in minor releases.)
+     
+    
+
+    
+     
+      Report WAL flush, not insert, position in IDENTIFY_SYSTEM
+      replication command (Heikki Linnakangas)
+     
+
+     
+      This avoids a possible startup failure
+      in pg_receivexlog.
+     
+    
+
+    
+     
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that pg_ctl will wait for
+      shutdown (Krystian Bigaj)
+     
+    
+
+    
+     
+      Reduce risk of network deadlock when using libpq's
+      non-blocking mode (Heikki Linnakangas)
+     
+
+     
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during COPY FROM
+      STDIN.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified libpq
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call PQconsumeInput() upon read-ready.
+     
+    
+
+    
+     
+      In libpq, fix misparsing of empty values in URI
+      connection strings (Thomas Fanghaenel)
+     
+    
+
+    
+     
+      Fix array handling in ecpg (Michael Meskes)
+     
+    
+
+    
+     
+      Fix psql to sanely handle URIs and conninfo strings as
+      the first parameter to \connect
+      (David Fetter, Andrew Dunstan, Álvaro Herrera)
+     
+
+     
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     
+    
+
+    
+     
+      Suppress incorrect complaints from psql on some
+      platforms that it failed to write ~/.psql_history at exit
+      (Tom Lane)
+     
+
+     
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of libedit.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of libedit.
+      Recommendation: upgrade that library, or use libreadline.
+     
+    
+
+    
+     
+      Fix pg_dump's rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     
+    
+
+    
+     
+      In pg_dump, fix failure to honor -Z
+      compression level option together with -Fd
+      (Michael Paquier)
+     
+    
+
+    
+     
+      Make pg_dump consider foreign key relationships
+      between extension configuration tables while choosing dump order
+      (Gilles Darold, Michael Paquier, Stephen Frost)
+     
+
+     
+      This oversight could result in producing dumps that fail to reload
+      because foreign key constraints are transiently violated.
+     
+    
+
+    
+     
+      Fix dumping of views that are just VALUES(...) but have
+      column aliases (Tom Lane)
+     
+    
+
+    
+     
+      In pg_upgrade, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     
+
+     
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     
+    
+
+    
+     
+      In pg_upgrade, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, quote directory paths
+      properly in the generated delete_old_cluster script
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     
+
+     
+      This oversight could cause missing-clog-file errors for tables within
+      the postgres and template1 databases.
+     
+    
+
+    
+     
+      Run pg_upgrade and pg_resetxlog with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     
+    
+
+    
+     
+      Improve handling of readdir() failures when scanning
+      directories in initdb and pg_basebackup
+      (Marco Nenciarini)
+     
+    
+
+
+
+    
+     
+      Fix failure in pg_receivexlog (Andres Freund)
+     
+
+     
+      A patch merge mistake in 9.2.10 led to could not create archive
+      status file errors.
+     
+    
+
+    
+     
+      Fix slow sorting algorithm in contrib/intarray (Tom Lane)
+     
+    
+
+    
+     
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     
+    
+
+    
+     
+      Update time zone data files to tzdata release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     
+    
+
+   
+
+  
+
  
   Release 9.2.10
 
index b4fa3845d3463c3791a20a70f36292440f1ca0c0..dca9275f7b5ce0a5790f37c1d0bc84e62aa45547 100644 (file)
@@ -1,6 +1,539 @@
 
 
 
+  Release 9.3.7
+
+  
+  Release Date
+  2015-05-21
+  
+
+  
+   This release contains a variety of fixes from 9.3.6.
+   For information about new features in the 9.3 major release, see
+   .
+  
+
+  
+   Migration to Version 9.3.7
+
+   
+    A dump/restore is not required for those running 9.3.X.
+   
+
+   
+    However, if you use contrib/citext's
+    regexp_matches() functions, see the changelog entry below
+    about that.
+   
+
+   
+    Also, if you are upgrading from a version earlier than 9.3.6,
+    see .
+   
+
+  
+
+  
+   Changes
+
+   
+
+    
+     
+      Protect against wraparound of multixact member IDs
+      (Álvaro Herrera, Robert Haas, Thomas Munro)
+     
+
+     
+      Under certain usage patterns, the existing defenses against this might
+      be insufficient, allowing pg_multixact/members files to be
+      removed too early, resulting in data loss.
+      The fix for this includes modifying the server to fail transactions
+      that would result in overwriting old multixact member ID data, and
+      improving autovacuum to ensure it will act proactively to prevent
+      multixact member ID wraparound, as it does for transaction ID
+      wraparound.
+     
+    
+
+    
+     
+      Fix incorrect declaration of contrib/citext's
+      regexp_matches() functions (Tom Lane)
+     
+
+     
+      These functions should return setof text[], like the core
+      functions they are wrappers for; but they were incorrectly declared as
+      returning just text[].  This mistake had two results: first,
+      if there was no match you got a scalar null result, whereas what you
+      should get is an empty set (zero rows).  Second, the g flag
+      was effectively ignored, since you would get only one result array even
+      if there were multiple matches.
+     
+
+     
+      While the latter behavior is clearly a bug, there might be applications
+      depending on the former behavior; therefore the function declarations
+      will not be changed by default until PostgreSQL 9.5.
+      In pre-9.5 branches, the old behavior exists in version 1.0 of
+      the citext extension, while we have provided corrected
+      declarations in version 1.1 (which is not installed by
+      default).  To adopt the fix in pre-9.5 branches, execute
+      ALTER EXTENSION citext UPDATE TO '1.1' in each database in
+      which citext is installed.  (You can also update
+      back to 1.0 if you need to undo that.)  Be aware that either update
+      direction will require dropping and recreating any views or rules that
+      use citext's regexp_matches() functions.
+     
+    
+
+    
+     
+      Fix incorrect checking of deferred exclusion constraints after a HOT
+      update (Tom Lane)
+     
+
+     
+      If a new row that potentially violates a deferred exclusion constraint
+      is HOT-updated (that is, no indexed columns change and the row can be
+      stored back onto the same table page) later in the same transaction,
+      the exclusion constraint would be reported as violated when the check
+      finally occurred, even if the row(s) the new row originally conflicted
+      with had been deleted.
+     
+    
+
+    
+     
+      Fix planning of star-schema-style queries (Tom Lane)
+     
+
+     
+      Sometimes, efficient scanning of a large table requires that index
+      parameters be provided from more than one other table (commonly,
+      dimension tables whose keys are needed to index a large fact table).
+      The planner should be able to find such plans, but an overly
+      restrictive search heuristic prevented it.
+     
+    
+
+    
+     
+      Prevent improper reordering of antijoins (NOT EXISTS joins) versus
+      other outer joins (Tom Lane)
+     
+
+     
+      This oversight in the planner has been observed to cause could
+      not find RelOptInfo for given relids errors, but it seems possible
+      that sometimes an incorrect query plan might get past that consistency
+      check and result in silently-wrong query output.
+     
+    
+
+    
+     
+      Fix incorrect matching of subexpressions in outer-join plan nodes
+      (Tom Lane)
+     
+
+     
+      Previously, if textually identical non-strict subexpressions were used
+      both above and below an outer join, the planner might try to re-use
+      the value computed below the join, which would be incorrect because the
+      executor would force the value to NULL in case of an unmatched outer row.
+     
+    
+
+    
+     
+      Fix GEQO planner to cope with failure of its join order heuristic
+      (Tom Lane)
+     
+
+     
+      This oversight has been seen to lead to failed to join all
+      relations together errors in queries involving LATERAL,
+      and that might happen in other cases as well.
+     
+    
+
+    
+     
+      Fix possible deadlock at startup
+      when max_prepared_transactions is too small
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Don't archive useless preallocated WAL files after a timeline switch
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Recursively fsync() the data directory after a crash
+      (Abhijit Menon-Sen, Robert Haas)
+     
+
+     
+      This ensures consistency if another crash occurs shortly later.  (The
+      second crash would have to be a system-level crash, not just a database
+      crash, for there to be a problem.)
+     
+    
+
+    
+     
+      Fix autovacuum launcher's possible failure to shut down, if an error
+      occurs after it receives SIGTERM (Álvaro Herrera)
+     
+    
+
+    
+     
+      Cope with unexpected signals in LockBufferForCleanup()
+      (Andres Freund)
+     
+
+     
+      This oversight could result in spurious errors about multiple
+      backends attempting to wait for pincount 1.
+     
+    
+
+    
+     
+      Fix crash when doing COPY IN to a table with check
+      constraints that contain whole-row references (Tom Lane)
+     
+
+     
+      The known failure case only crashes in 9.4 and up, but there is very
+      similar code in 9.3 and 9.2, so back-patch those branches as well.
+     
+    
+
+    
+     
+      Avoid waiting for WAL flush or synchronous replication during commit of
+      a transaction that was read-only so far as the user is concerned
+      (Andres Freund)
+     
+
+     
+      Previously, a delay could occur at commit in transactions that had
+      written WAL due to HOT page pruning, leading to undesirable effects
+      such as sessions getting stuck at startup if all synchronous replicas
+      are down.  Sessions have also been observed to get stuck in catchup
+      interrupt processing when using synchronous replication; this will fix
+      that problem as well.
+     
+    
+
+    
+     
+      Fix crash when manipulating hash indexes on temporary tables
+      (Heikki Linnakangas)
+     
+    
+
+    
+     
+      Fix possible failure during hash index bucket split, if other processes
+      are modifying the index concurrently (Tom Lane)
+     
+    
+
+    
+     
+      Check for interrupts while analyzing index expressions (Jeff Janes)
+     
+
+     
+      ANALYZE executes index expressions many times; if there are
+      slow functions in such an expression, it's desirable to be able to
+      cancel the ANALYZE before that loop finishes.
+     
+    
+
+    
+     
+      Ensure tableoid of a foreign table is reported
+      correctly when a READ COMMITTED recheck occurs after
+      locking rows in SELECT FOR UPDATE, UPDATE,
+      or DELETE (Etsuro Fujita)
+     
+    
+
+    
+     
+      Add the name of the target server to object description strings for
+      foreign-server user mappings (Álvaro Herrera)
+     
+    
+
+    
+     
+      Include the schema name in object identity strings for conversions
+      (Álvaro Herrera)
+     
+    
+
+    
+     
+      Recommend setting include_realm to 1 when using
+      Kerberos/GSSAPI/SSPI authentication (Stephen Frost)
+     
+
+     
+      Without this, identically-named users from different realms cannot be
+      distinguished.  For the moment this is only a documentation change, but
+      it will become the default setting in PostgreSQL 9.5.
+     
+    
+
+    
+     
+      Remove code for matching IPv4 pg_hba.conf entries to
+      IPv4-in-IPv6 addresses (Tom Lane)
+     
+
+     
+      This hack was added in 2003 in response to a report that some Linux
+      kernels of the time would report IPv4 connections as having
+      IPv4-in-IPv6 addresses.  However, the logic was accidentally broken in
+      9.0.  The lack of any field complaints since then shows that it's not
+      needed anymore.  Now we have reports that the broken code causes
+      crashes on some systems, so let's just remove it rather than fix it.
+      (Had we chosen to fix it, that would make for a subtle and potentially
+      security-sensitive change in the effective meaning of
+      IPv4 pg_hba.conf entries, which does not seem like a good
+      thing to do in minor releases.)
+     
+    
+
+    
+     
+      Report WAL flush, not insert, position in IDENTIFY_SYSTEM
+      replication command (Heikki Linnakangas)
+     
+
+     
+      This avoids a possible startup failure
+      in pg_receivexlog.
+     
+    
+
+    
+     
+      While shutting down service on Windows, periodically send status
+      updates to the Service Control Manager to prevent it from killing the
+      service too soon; and ensure that pg_ctl will wait for
+      shutdown (Krystian Bigaj)
+     
+    
+
+    
+     
+      Reduce risk of network deadlock when using libpq's
+      non-blocking mode (Heikki Linnakangas)
+     
+
+     
+      When sending large volumes of data, it's important to drain the input
+      buffer every so often, in case the server has sent enough response data
+      to cause it to block on output.  (A typical scenario is that the server
+      is sending a stream of NOTICE messages during COPY FROM
+      STDIN.)  This worked properly in the normal blocking mode, but not
+      so much in non-blocking mode.  We've modified libpq
+      to opportunistically drain input when it can, but a full defense
+      against this problem requires application cooperation: the application
+      should watch for socket read-ready as well as write-ready conditions,
+      and be sure to call PQconsumeInput() upon read-ready.
+     
+    
+
+    
+     
+      In libpq, fix misparsing of empty values in URI
+      connection strings (Thomas Fanghaenel)
+     
+    
+
+    
+     
+      Fix array handling in ecpg (Michael Meskes)
+     
+    
+
+    
+     
+      Fix psql to sanely handle URIs and conninfo strings as
+      the first parameter to \connect
+      (David Fetter, Andrew Dunstan, Álvaro Herrera)
+     
+
+     
+      This syntax has been accepted (but undocumented) for a long time, but
+      previously some parameters might be taken from the old connection
+      instead of the given string, which was agreed to be undesirable.
+     
+    
+
+    
+     
+      Suppress incorrect complaints from psql on some
+      platforms that it failed to write ~/.psql_history at exit
+      (Tom Lane)
+     
+
+     
+      This misbehavior was caused by a workaround for a bug in very old
+      (pre-2006) versions of libedit.  We fixed it by
+      removing the workaround, which will cause a similar failure to appear
+      for anyone still using such versions of libedit.
+      Recommendation: upgrade that library, or use libreadline.
+     
+    
+
+    
+     
+      Fix pg_dump's rule for deciding which casts are
+      system-provided casts that should not be dumped (Tom Lane)
+     
+    
+
+    
+     
+      In pg_dump, fix failure to honor -Z
+      compression level option together with -Fd
+      (Michael Paquier)
+     
+    
+
+    
+     
+      Make pg_dump consider foreign key relationships
+      between extension configuration tables while choosing dump order
+      (Gilles Darold, Michael Paquier, Stephen Frost)
+     
+
+     
+      This oversight could result in producing dumps that fail to reload
+      because foreign key constraints are transiently violated.
+     
+    
+
+    
+     
+      Avoid possible pg_dump failure when concurrent sessions
+      are creating and dropping temporary functions (Tom Lane)
+     
+    
+
+    
+     
+      Fix dumping of views that are just VALUES(...) but have
+      column aliases (Tom Lane)
+     
+    
+
+    
+     
+      In pg_upgrade, force timeline 1 in the new cluster
+      (Bruce Momjian)
+     
+
+     
+      This change prevents upgrade failures caused by bogus complaints about
+      missing WAL history files.
+     
+    
+
+    
+     
+      In pg_upgrade, check for improperly non-connectable
+      databases before proceeding
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, quote directory paths
+      properly in the generated delete_old_cluster script
+      (Bruce Momjian)
+     
+    
+
+    
+     
+      In pg_upgrade, preserve database-level freezing info
+      properly
+      (Bruce Momjian)
+     
+
+     
+      This oversight could cause missing-clog-file errors for tables within
+      the postgres and template1 databases.
+     
+    
+
+    
+     
+      Run pg_upgrade and pg_resetxlog with
+      restricted privileges on Windows, so that they don't fail when run by
+      an administrator (Muhammad Asif Naeem)
+     
+    
+
+    
+     
+      Improve handling of readdir() failures when scanning
+      directories in initdb and pg_basebackup
+      (Marco Nenciarini)
+     
+    
+
+    
+     
+      Fix slow sorting algorithm in contrib/intarray (Tom Lane)
+     
+    
+
+    
+     
+      Fix compile failure on Sparc V8 machines (Rob Rowan)
+     
+    
+
+    
+     
+      Silence some build warnings on OS X (Tom Lane)
+     
+    
+
+    
+     
+      Update time zone data files to tzdata release 2015d
+      for DST law changes in Egypt, Mongolia, and Palestine, plus historical
+      changes in Canada and Chile.  Also adopt revised zone abbreviations for
+      the America/Adak zone (HST/HDT not HAST/HADT).
+     
+    
+
+   
+
+  
+
  
   Release 9.3.6