diff options
author | Tom Lane | 2018-05-06 19:30:44 +0000 |
---|---|---|
committer | Tom Lane | 2018-05-06 19:30:44 +0000 |
commit | 2667e019c61f392c6af28afeee43dbfdcc943d28 (patch) | |
tree | 96d47d3815981efa253993109f1a250c2d01e6b4 | |
parent | 2b9bdda74485909a4a3067bf0ba3f0821e82660e (diff) |
Release notes for 10.4, 9.6.9, 9.5.13, 9.4.18, 9.3.23.
-rw-r--r-- | doc/src/sgml/release-10.sgml | 90 | ||||
-rw-r--r-- | doc/src/sgml/release-9.3.sgml | 367 | ||||
-rw-r--r-- | doc/src/sgml/release-9.4.sgml | 411 | ||||
-rw-r--r-- | doc/src/sgml/release-9.5.sgml | 470 | ||||
-rw-r--r-- | doc/src/sgml/release-9.6.sgml | 532 |
5 files changed, 1830 insertions, 40 deletions
diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml index 5d810baa10..635509c3fa 100644 --- a/doc/src/sgml/release-10.sgml +++ b/doc/src/sgml/release-10.sgml @@ -497,7 +497,7 @@ Branch: REL_10_STABLE [76ec45756] 2018-03-02 17:40:48 -0500 Branch: REL9_6_STABLE [96d2df840] 2018-03-02 17:40:48 -0500 --> <para> - Fix possible leak or double-free of visibility map buffer pins + Fix possible leak or double free of visibility map buffer pins (Amit Kapila) </para> </listitem> @@ -516,7 +516,7 @@ Branch: REL9_6_STABLE [3a11485a5] 2018-05-04 18:23:30 -0300 <para> This could happen if some tuples were locked (but not deleted). While - queries would still function correctly, vacuum would generally ignore + queries would still function correctly, vacuum would normally ignore such pages, with the long-term effect that the tuples were never frozen. In recent releases this would eventually result in errors such as <quote>found multixact <replaceable>nnnnn</replaceable> from @@ -594,8 +594,9 @@ Branch: REL9_4_STABLE [310d1379d] 2018-04-11 23:40:27 +0300 Branch: REL9_3_STABLE [dfc383cf3] 2018-04-11 23:40:31 +0300 --> <para> - Ensure client hostname is copied to local memory when copying - <structname>pg_stat_activity</structname> data (Edmund Horner) + Ensure client hostname is copied while copying + <structname>pg_stat_activity</structname> data to local memory + (Edmund Horner) </para> <para> @@ -670,7 +671,7 @@ Branch: REL9_6_STABLE [57ef2da43] 2018-03-19 23:59:17 -0400 --> <para> Prevent query-lifespan memory leakage with SP-GiST operator classes - that use traversal values (Anton Dignös) + that use traversal values (Anton Dignös) </para> </listitem> @@ -905,7 +906,7 @@ Branch: REL9_5_STABLE [b33e38cb1] 2018-03-29 04:02:34 +0900 <para> Ensure that <application>pg_rewind</application> deletes files on the target server if they are deleted from the source server during the - run (Tsunakawa Takayuki) + run (Takayuki Tsunakawa) </para> <para> @@ -951,6 +952,23 @@ Branch: REL9_3_STABLE [f1f7a85d8] 2018-03-17 15:38:15 -0400 <listitem> <!-- +Author: Peter Eisentraut <[email protected]> +Branch: master [fa03769e4] 2018-05-03 13:13:09 -0400 +Branch: master [7d8679975] 2018-05-03 20:29:54 -0400 +Branch: REL_10_STABLE [8f1787a8f] 2018-05-05 23:03:44 -0400 +Branch: REL9_6_STABLE [ab7825ead] 2018-05-05 23:34:41 -0400 +Branch: REL9_5_STABLE [b812d6372] 2018-05-05 23:48:19 -0400 +Branch: REL9_4_STABLE [af9e0d5cd] 2018-05-05 23:53:05 -0400 +Branch: REL9_3_STABLE [e7f904715] 2018-05-05 23:54:04 -0400 +--> + <para> + Adjust <application>PL/Python</application> regression tests to pass + under Python 3.7 (Peter Eisentraut) + </para> + </listitem> + + <listitem> +<!-- Author: Andrew Dunstan <[email protected]> Branch: master [966268c76] 2018-05-04 15:22:48 -0400 Branch: REL_10_STABLE [56a45646d] 2018-05-04 15:32:31 -0400 @@ -958,6 +976,13 @@ Branch: REL9_6_STABLE [a9fbf550b] 2018-05-04 15:33:06 -0400 Branch: REL9_5_STABLE [c1f3638d2] 2018-05-04 15:33:18 -0400 Branch: REL9_4_STABLE [134db37d2] 2018-05-04 15:51:31 -0400 Branch: REL9_3_STABLE [af39c1da7] 2018-05-04 15:56:01 -0400 +Author: Andrew Dunstan <[email protected]> +Branch: master [2b9bdda74] 2018-05-06 07:37:05 -0400 +Branch: REL_10_STABLE [0e6114be8] 2018-05-06 07:39:05 -0400 +Branch: REL9_6_STABLE [289bafdbc] 2018-05-06 07:39:37 -0400 +Branch: REL9_5_STABLE [3b17d4b9d] 2018-05-06 07:39:51 -0400 +Branch: REL9_4_STABLE [1eb24720c] 2018-05-06 07:40:04 -0400 +Branch: REL9_3_STABLE [a75b01c61] 2018-05-06 07:40:25 -0400 --> <para> Support testing <application>PL/Python</application> and related @@ -987,21 +1012,6 @@ Branch: REL9_6_STABLE [df9040155] 2018-03-22 13:13:58 -0400 <listitem> <!-- Author: Tom Lane <[email protected]> -Branch: REL9_5_STABLE [3c0e07a46] 2018-05-01 12:02:41 -0400 ---> - <para> - Support building with Microsoft Visual Studio 2015 (Michael Paquier) - </para> - - <para> - Various fixes needed for VS2015 compatibility were previously - back-patched into the 9.5 branch, but one was missed. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <[email protected]> Branch: master [43e949086] 2018-02-28 18:33:45 -0500 Branch: REL_10_STABLE [aac6286d8] 2018-02-28 18:33:45 -0500 Branch: REL9_6_STABLE [11e7700e5] 2018-02-28 18:33:45 -0500 @@ -1019,25 +1029,6 @@ Branch: REL9_3_STABLE [10102c91e] 2018-02-28 18:33:45 -0500 <listitem> <!-- Author: Tom Lane <[email protected]> -Branch: master [df629586e] 2018-04-29 15:50:08 -0400 -Branch: REL_10_STABLE [783e8f56d] 2018-04-29 15:50:23 -0400 -Branch: REL9_6_STABLE [2acbeea48] 2018-04-29 15:50:31 -0400 -Branch: REL9_5_STABLE [eaed0d230] 2018-04-29 15:50:37 -0400 -Branch: REL9_4_STABLE [37c02b2b0] 2018-04-29 15:50:43 -0400 -Branch: REL9_3_STABLE [adcd0c2be] 2018-04-29 15:50:50 -0400 ---> - <para> - Update time zone data files to <application>tzdata</application> - release 2018d for DST law changes in Palestine and Antarctica (Casey - Station), plus historical corrections for Portugal and its colonies, - as well as Enderbury, Jamaica, Turks & Caicos Islands, and - Uruguay. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <[email protected]> Branch: master [b45f6613e] 2018-05-04 12:26:25 -0400 Branch: REL_10_STABLE [b49f4e69a] 2018-05-04 12:26:34 -0400 Branch: REL9_6_STABLE [7a83323f2] 2018-05-04 12:26:39 -0400 @@ -1060,6 +1051,25 @@ Branch: REL9_3_STABLE [9469ebc71] 2018-05-04 12:26:52 -0400 </para> </listitem> + <listitem> +<!-- +Author: Tom Lane <[email protected]> +Branch: master [df629586e] 2018-04-29 15:50:08 -0400 +Branch: REL_10_STABLE [783e8f56d] 2018-04-29 15:50:23 -0400 +Branch: REL9_6_STABLE [2acbeea48] 2018-04-29 15:50:31 -0400 +Branch: REL9_5_STABLE [eaed0d230] 2018-04-29 15:50:37 -0400 +Branch: REL9_4_STABLE [37c02b2b0] 2018-04-29 15:50:43 -0400 +Branch: REL9_3_STABLE [adcd0c2be] 2018-04-29 15:50:50 -0400 +--> + <para> + Update time zone data files to <application>tzdata</application> + release 2018d for DST law changes in Palestine and Antarctica (Casey + Station), plus historical corrections for Portugal and its colonies, + as well as Enderbury, Jamaica, Turks & Caicos Islands, and + Uruguay. + </para> + </listitem> + </itemizedlist> </sect2> diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index 015c2211b0..e8604f9954 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,373 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-23"> + <title>Release 9.3.23</title> + + <formalpara> + <title>Release date:</title> + <para>2018-05-10</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.3.22. + For information about new features in the 9.3 major release, see + <xref linkend="release-9-3"/>. + </para> + + <sect2> + <title>Migration to Version 9.3.23</title> + + <para> + A dump/restore is not required for those running 9.3.X. + </para> + + <para> + However, if the function marking mistakes mentioned in the first + changelog entry below affect you, you will want to take steps to + correct your database catalogs. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.3.22, + see <xref linkend="release-9-3-22"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix incorrect volatility markings on a few built-in functions + (Thomas Munro, Tom Lane) + </para> + + <para> + The functions + <function>query_to_xml</function>, + <function>cursor_to_xml</function>, + <function>cursor_to_xmlschema</function>, + <function>query_to_xmlschema</function>, and + <function>query_to_xml_and_xmlschema</function> + should be marked volatile because they execute user-supplied queries + that might contain volatile operations. They were not, leading to a + risk of incorrect query optimization. This has been repaired for new + installations by correcting the initial catalog data, but existing + installations will continue to contain the incorrect markings. + Practical use of these functions seems to pose little hazard, but in + case of trouble, it can be fixed by manually updating these + functions' <structname>pg_proc</structname> entries. (Note that that + will need to be done in each database of the installation.) Another + option is to <application>pg_upgrade</application> the database to a + version containing the corrected initial data. + </para> + </listitem> + + <listitem> + <para> + Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed + TOAST entries (Pavan Deolasee) + </para> + + <para> + Once the OID counter has wrapped around, it's possible to assign a + TOAST value whose OID matches a previously deleted entry in the same + TOAST table. If that entry were not yet vacuumed away, this resulted + in <quote>unexpected chunk number 0 (expected 1) for toast + value <replaceable>nnnnn</replaceable></quote> errors, which would + persist until the dead entry was removed + by <command>VACUUM</command>. Fix by not selecting such OIDs when + creating a new TOAST entry. + </para> + </listitem> + + <listitem> + <para> + Change <command>ANALYZE</command>'s algorithm for updating + <structname>pg_class</structname>.<structfield>reltuples</structfield> + (David Gould) + </para> + + <para> + Previously, pages not actually scanned by <command>ANALYZE</command> + were assumed to retain their old tuple density. In a large table + where <command>ANALYZE</command> samples only a small fraction of the + pages, this meant that the overall tuple density estimate could not + change very much, so that <structfield>reltuples</structfield> would + change nearly proportionally to changes in the table's physical size + (<structfield>relpages</structfield>) regardless of what was actually + happening in the table. This has been observed to result + in <structfield>reltuples</structfield> becoming so much larger than + reality as to effectively shut off autovacuuming. To fix, assume + that <command>ANALYZE</command>'s sample is a statistically unbiased + sample of the table (as it should be), and just extrapolate the + density observed within those pages to the whole table. + </para> + </listitem> + + <listitem> + <para> + Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail + when the referenced cursor uses an index-only-scan plan (Yugo Nagata, + Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix incorrect planning of join clauses pushed into parameterized + paths (Andrew Gierth, Tom Lane) + </para> + + <para> + This error could result in misclassifying a condition as + a <quote>join filter</quote> for an outer join when it should be a + plain <quote>filter</quote> condition, leading to incorrect join + output. + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of <literal>CHECK</literal> constraints having + provably-NULL subclauses of + top-level <literal>AND</literal>/<literal>OR</literal> conditions + (Tom Lane, Dean Rasheed) + </para> + + <para> + This could, for example, allow constraint exclusion to exclude a + child table that should not be excluded from a query. + </para> + </listitem> + + <listitem> + <para> + Avoid failure if a query-cancel or session-termination interrupt + occurs while committing a prepared transaction (Stas Kelvich) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leakage in repeatedly executed hash joins + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix overly strict sanity check + in <function>heap_prepare_freeze_tuple</function> + (Álvaro Herrera) + </para> + + <para> + This could result in incorrect <quote>cannot freeze committed + xmax</quote> failures in databases that have + been <application>pg_upgrade</application>'d from 9.2 or earlier. + </para> + </listitem> + + <listitem> + <para> + Prevent dangling-pointer dereference when a C-coded before-update row + trigger returns the <quote>old</quote> tuple (Rushabh Lathia) + </para> + </listitem> + + <listitem> + <para> + Reduce locking during autovacuum worker scheduling (Jeff Janes) + </para> + + <para> + The previous behavior caused drastic loss of potential worker + concurrency in databases with many tables. + </para> + </listitem> + + <listitem> + <para> + Ensure client hostname is copied while copying + <structname>pg_stat_activity</structname> data to local memory + (Edmund Horner) + </para> + + <para> + Previously the supposedly-local snapshot contained a pointer into + shared memory, allowing the client hostname column to change + unexpectedly if any existing session disconnected. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect processing of multiple compound affixes + in <literal>ispell</literal> dictionaries (Arthur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix collation-aware searches (that is, indexscans using inequality + operators) in SP-GiST indexes on text columns (Tom Lane) + </para> + + <para> + Such searches would return the wrong set of rows in most non-C + locales. + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during initial build of an + SP-GiST index (Tomas Vondra) + </para> + + <para> + Previously, the tuple count was reported to be the same as that of + the underlying table, which is wrong if the index is partial. + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during vacuuming of a + GiST index (Andrey Borodin) + </para> + + <para> + Previously it reported the estimated number of heap tuples, + which might be inaccurate, and is certainly wrong if the + index is partial. + </para> + </listitem> + + <listitem> + <para> + Allow <function>scalarltsel</function> + and <function>scalargtsel</function> to be used on non-core datatypes + (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Reduce <application>libpq</application>'s memory consumption when a + server error is reported after a large amount of query output has + been collected (Tom Lane) + </para> + + <para> + Discard the previous output before, not after, processing the error + message. On some platforms, notably Linux, this can make a + difference in the application's subsequent memory footprint. + </para> + </listitem> + + <listitem> + <para> + Fix double-free crashes in <application>ecpg</application> + (Patrick Krecker, Jeevan Ladhe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application> to handle <type>long long + int</type> variables correctly in MSVC builds (Michael Meskes, + Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix mis-quoting of values for list-valued GUC variables in dumps + (Michael Paquier, Tom Lane) + </para> + + <para> + The <varname>local_preload_libraries</varname>, + <varname>session_preload_libraries</varname>, + <varname>shared_preload_libraries</varname>, + and <varname>temp_tablespaces</varname> variables were not correctly + quoted in <application>pg_dump</application> output. This would + cause problems if settings for these variables appeared in + <command>CREATE FUNCTION ... SET</command> or <command>ALTER + DATABASE/ROLE ... SET</command> clauses. + </para> + </listitem> + + <listitem> + <para> + Fix overflow handling in <application>PL/pgSQL</application> + integer <command>FOR</command> loops (Tom Lane) + </para> + + <para> + The previous coding failed to detect overflow of the loop variable + on some non-gcc compilers, leading to an infinite loop. + </para> + </listitem> + + <listitem> + <para> + Adjust <application>PL/Python</application> regression tests to pass + under Python 3.7 (Peter Eisentraut) + </para> + </listitem> + + <listitem> + <para> + Support testing <application>PL/Python</application> and related + modules when building with Python 3 and MSVC (Andrew Dunstan) + </para> + </listitem> + + <listitem> + <para> + Rename internal <function>b64_encode</function> + and <function>b64_decode</function> functions to avoid conflict with + Solaris 11.4 built-in functions (Rainer Orth) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA tzcode release 2018e + (Tom Lane) + </para> + + <para> + This fixes the <application>zic</application> timezone data compiler + to cope with negative daylight-savings offsets. While + the <productname>PostgreSQL</productname> project will not + immediately ship such timezone data, <application>zic</application> + might be used with timezone data obtained directly from IANA, so it + seems prudent to update <application>zic</application> now. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018d for DST law changes in Palestine and Antarctica (Casey + Station), plus historical corrections for Portugal and its colonies, + as well as Enderbury, Jamaica, Turks & Caicos Islands, and + Uruguay. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-3-22"> <title>Release 9.3.22</title> diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index ed4de33dd0..627eca168f 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -1,6 +1,417 @@ <!-- doc/src/sgml/release-9.4.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-4-18"> + <title>Release 9.4.18</title> + + <formalpara> + <title>Release date:</title> + <para>2018-05-10</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.4.17. + For information about new features in the 9.4 major release, see + <xref linkend="release-9-4"/>. + </para> + + <sect2> + <title>Migration to Version 9.4.18</title> + + <para> + A dump/restore is not required for those running 9.4.X. + </para> + + <para> + However, if the function marking mistakes mentioned in the first + changelog entry below affect you, you will want to take steps to + correct your database catalogs. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.4.17, + see <xref linkend="release-9-4-17"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix incorrect volatility markings on a few built-in functions + (Thomas Munro, Tom Lane) + </para> + + <para> + The functions + <function>query_to_xml</function>, + <function>cursor_to_xml</function>, + <function>cursor_to_xmlschema</function>, + <function>query_to_xmlschema</function>, and + <function>query_to_xml_and_xmlschema</function> + should be marked volatile because they execute user-supplied queries + that might contain volatile operations. They were not, leading to a + risk of incorrect query optimization. This has been repaired for new + installations by correcting the initial catalog data, but existing + installations will continue to contain the incorrect markings. + Practical use of these functions seems to pose little hazard, but in + case of trouble, it can be fixed by manually updating these + functions' <structname>pg_proc</structname> entries. (Note that that + will need to be done in each database of the installation.) Another + option is to <application>pg_upgrade</application> the database to a + version containing the corrected initial data. + </para> + </listitem> + + <listitem> + <para> + Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed + TOAST entries (Pavan Deolasee) + </para> + + <para> + Once the OID counter has wrapped around, it's possible to assign a + TOAST value whose OID matches a previously deleted entry in the same + TOAST table. If that entry were not yet vacuumed away, this resulted + in <quote>unexpected chunk number 0 (expected 1) for toast + value <replaceable>nnnnn</replaceable></quote> errors, which would + persist until the dead entry was removed + by <command>VACUUM</command>. Fix by not selecting such OIDs when + creating a new TOAST entry. + </para> + </listitem> + + <listitem> + <para> + Change <command>ANALYZE</command>'s algorithm for updating + <structname>pg_class</structname>.<structfield>reltuples</structfield> + (David Gould) + </para> + + <para> + Previously, pages not actually scanned by <command>ANALYZE</command> + were assumed to retain their old tuple density. In a large table + where <command>ANALYZE</command> samples only a small fraction of the + pages, this meant that the overall tuple density estimate could not + change very much, so that <structfield>reltuples</structfield> would + change nearly proportionally to changes in the table's physical size + (<structfield>relpages</structfield>) regardless of what was actually + happening in the table. This has been observed to result + in <structfield>reltuples</structfield> becoming so much larger than + reality as to effectively shut off autovacuuming. To fix, assume + that <command>ANALYZE</command>'s sample is a statistically unbiased + sample of the table (as it should be), and just extrapolate the + density observed within those pages to the whole table. + </para> + </listitem> + + <listitem> + <para> + Avoid deadlocks in concurrent <command>CREATE INDEX + CONCURRENTLY</command> commands that are run + under <literal>SERIALIZABLE</literal> or <literal>REPEATABLE + READ</literal> transaction isolation (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW + CONCURRENTLY</command> (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail + when the referenced cursor uses an index-only-scan plan (Yugo Nagata, + Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix incorrect planning of join clauses pushed into parameterized + paths (Andrew Gierth, Tom Lane) + </para> + + <para> + This error could result in misclassifying a condition as + a <quote>join filter</quote> for an outer join when it should be a + plain <quote>filter</quote> condition, leading to incorrect join + output. + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of <literal>CHECK</literal> constraints having + provably-NULL subclauses of + top-level <literal>AND</literal>/<literal>OR</literal> conditions + (Tom Lane, Dean Rasheed) + </para> + + <para> + This could, for example, allow constraint exclusion to exclude a + child table that should not be excluded from a query. + </para> + </listitem> + + <listitem> + <para> + Avoid failure if a query-cancel or session-termination interrupt + occurs while committing a prepared transaction (Stas Kelvich) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leakage in repeatedly executed hash joins + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix overly strict sanity check + in <function>heap_prepare_freeze_tuple</function> + (Álvaro Herrera) + </para> + + <para> + This could result in incorrect <quote>cannot freeze committed + xmax</quote> failures in databases that have + been <application>pg_upgrade</application>'d from 9.2 or earlier. + </para> + </listitem> + + <listitem> + <para> + Prevent dangling-pointer dereference when a C-coded before-update row + trigger returns the <quote>old</quote> tuple (Rushabh Lathia) + </para> + </listitem> + + <listitem> + <para> + Reduce locking during autovacuum worker scheduling (Jeff Janes) + </para> + + <para> + The previous behavior caused drastic loss of potential worker + concurrency in databases with many tables. + </para> + </listitem> + + <listitem> + <para> + Ensure client hostname is copied while copying + <structname>pg_stat_activity</structname> data to local memory + (Edmund Horner) + </para> + + <para> + Previously the supposedly-local snapshot contained a pointer into + shared memory, allowing the client hostname column to change + unexpectedly if any existing session disconnected. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect processing of multiple compound affixes + in <literal>ispell</literal> dictionaries (Arthur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix collation-aware searches (that is, indexscans using inequality + operators) in SP-GiST indexes on text columns (Tom Lane) + </para> + + <para> + Such searches would return the wrong set of rows in most non-C + locales. + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during initial build of an + SP-GiST index (Tomas Vondra) + </para> + + <para> + Previously, the tuple count was reported to be the same as that of + the underlying table, which is wrong if the index is partial. + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during vacuuming of a + GiST index (Andrey Borodin) + </para> + + <para> + Previously it reported the estimated number of heap tuples, + which might be inaccurate, and is certainly wrong if the + index is partial. + </para> + </listitem> + + <listitem> + <para> + Fix a corner case where a streaming standby gets stuck at a WAL + continuation record (Kyotaro Horiguchi) + </para> + </listitem> + + <listitem> + <para> + In logical decoding, avoid possible double processing of WAL data + when a walsender restarts (Craig Ringer) + </para> + </listitem> + + <listitem> + <para> + Allow <function>scalarltsel</function> + and <function>scalargtsel</function> to be used on non-core datatypes + (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Reduce <application>libpq</application>'s memory consumption when a + server error is reported after a large amount of query output has + been collected (Tom Lane) + </para> + + <para> + Discard the previous output before, not after, processing the error + message. On some platforms, notably Linux, this can make a + difference in the application's subsequent memory footprint. + </para> + </listitem> + + <listitem> + <para> + Fix double-free crashes in <application>ecpg</application> + (Patrick Krecker, Jeevan Ladhe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application> to handle <type>long long + int</type> variables correctly in MSVC builds (Michael Meskes, + Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix mis-quoting of values for list-valued GUC variables in dumps + (Michael Paquier, Tom Lane) + </para> + + <para> + The <varname>local_preload_libraries</varname>, + <varname>session_preload_libraries</varname>, + <varname>shared_preload_libraries</varname>, + and <varname>temp_tablespaces</varname> variables were not correctly + quoted in <application>pg_dump</application> output. This would + cause problems if settings for these variables appeared in + <command>CREATE FUNCTION ... SET</command> or <command>ALTER + DATABASE/ROLE ... SET</command> clauses. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_recvlogical</application> to not fail against + pre-v10 <productname>PostgreSQL</productname> servers + (Michael Paquier) + </para> + + <para> + A previous fix caused <application>pg_recvlogical</application> to + issue a command regardless of server version, but it should only be + issued to v10 and later servers. + </para> + </listitem> + + <listitem> + <para> + Fix overflow handling in <application>PL/pgSQL</application> + integer <command>FOR</command> loops (Tom Lane) + </para> + + <para> + The previous coding failed to detect overflow of the loop variable + on some non-gcc compilers, leading to an infinite loop. + </para> + </listitem> + + <listitem> + <para> + Adjust <application>PL/Python</application> regression tests to pass + under Python 3.7 (Peter Eisentraut) + </para> + </listitem> + + <listitem> + <para> + Support testing <application>PL/Python</application> and related + modules when building with Python 3 and MSVC (Andrew Dunstan) + </para> + </listitem> + + <listitem> + <para> + Rename internal <function>b64_encode</function> + and <function>b64_decode</function> functions to avoid conflict with + Solaris 11.4 built-in functions (Rainer Orth) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA tzcode release 2018e + (Tom Lane) + </para> + + <para> + This fixes the <application>zic</application> timezone data compiler + to cope with negative daylight-savings offsets. While + the <productname>PostgreSQL</productname> project will not + immediately ship such timezone data, <application>zic</application> + might be used with timezone data obtained directly from IANA, so it + seems prudent to update <application>zic</application> now. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018d for DST law changes in Palestine and Antarctica (Casey + Station), plus historical corrections for Portugal and its colonies, + as well as Enderbury, Jamaica, Turks & Caicos Islands, and + Uruguay. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-4-17"> <title>Release 9.4.17</title> diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index b62dd732a2..c646be6f9d 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -1,6 +1,476 @@ <!-- doc/src/sgml/release-9.5.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-5-13"> + <title>Release 9.5.13</title> + + <formalpara> + <title>Release date:</title> + <para>2018-05-10</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.5.12. + For information about new features in the 9.5 major release, see + <xref linkend="release-9-5"/>. + </para> + + <sect2> + <title>Migration to Version 9.5.13</title> + + <para> + A dump/restore is not required for those running 9.5.X. + </para> + + <para> + However, if the function marking mistakes mentioned in the first + changelog entry below affect you, you will want to take steps to + correct your database catalogs. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.5.12, + see <xref linkend="release-9-5-12"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix incorrect volatility markings on a few built-in functions + (Thomas Munro, Tom Lane) + </para> + + <para> + The functions + <function>query_to_xml</function>, + <function>cursor_to_xml</function>, + <function>cursor_to_xmlschema</function>, + <function>query_to_xmlschema</function>, and + <function>query_to_xml_and_xmlschema</function> + should be marked volatile because they execute user-supplied queries + that might contain volatile operations. They were not, leading to a + risk of incorrect query optimization. This has been repaired for new + installations by correcting the initial catalog data, but existing + installations will continue to contain the incorrect markings. + Practical use of these functions seems to pose little hazard, but in + case of trouble, it can be fixed by manually updating these + functions' <structname>pg_proc</structname> entries. (Note that that + will need to be done in each database of the installation.) Another + option is to <application>pg_upgrade</application> the database to a + version containing the corrected initial data. + </para> + </listitem> + + <listitem> + <para> + Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed + TOAST entries (Pavan Deolasee) + </para> + + <para> + Once the OID counter has wrapped around, it's possible to assign a + TOAST value whose OID matches a previously deleted entry in the same + TOAST table. If that entry were not yet vacuumed away, this resulted + in <quote>unexpected chunk number 0 (expected 1) for toast + value <replaceable>nnnnn</replaceable></quote> errors, which would + persist until the dead entry was removed + by <command>VACUUM</command>. Fix by not selecting such OIDs when + creating a new TOAST entry. + </para> + </listitem> + + <listitem> + <para> + Change <command>ANALYZE</command>'s algorithm for updating + <structname>pg_class</structname>.<structfield>reltuples</structfield> + (David Gould) + </para> + + <para> + Previously, pages not actually scanned by <command>ANALYZE</command> + were assumed to retain their old tuple density. In a large table + where <command>ANALYZE</command> samples only a small fraction of the + pages, this meant that the overall tuple density estimate could not + change very much, so that <structfield>reltuples</structfield> would + change nearly proportionally to changes in the table's physical size + (<structfield>relpages</structfield>) regardless of what was actually + happening in the table. This has been observed to result + in <structfield>reltuples</structfield> becoming so much larger than + reality as to effectively shut off autovacuuming. To fix, assume + that <command>ANALYZE</command>'s sample is a statistically unbiased + sample of the table (as it should be), and just extrapolate the + density observed within those pages to the whole table. + </para> + </listitem> + + <listitem> + <para> + Avoid deadlocks in concurrent <command>CREATE INDEX + CONCURRENTLY</command> commands that are run + under <literal>SERIALIZABLE</literal> or <literal>REPEATABLE + READ</literal> transaction isolation (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW + CONCURRENTLY</command> (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail + when the referenced cursor uses an index-only-scan plan (Yugo Nagata, + Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix incorrect planning of join clauses pushed into parameterized + paths (Andrew Gierth, Tom Lane) + </para> + + <para> + This error could result in misclassifying a condition as + a <quote>join filter</quote> for an outer join when it should be a + plain <quote>filter</quote> condition, leading to incorrect join + output. + </para> + </listitem> + + <listitem> + <para> + Fix possibly incorrect generation of an index-only-scan plan when the + same table column appears in multiple index columns, and only some of + those index columns use operator classes that can return the column + value (Kyotaro Horiguchi) + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of <literal>CHECK</literal> constraints having + provably-NULL subclauses of + top-level <literal>AND</literal>/<literal>OR</literal> conditions + (Tom Lane, Dean Rasheed) + </para> + + <para> + This could, for example, allow constraint exclusion to exclude a + child table that should not be excluded from a query. + </para> + </listitem> + + <listitem> + <para> + Fix executor crash due to double free in some <literal>GROUPING + SET</literal> usages (Peter Geoghegan) + </para> + </listitem> + + <listitem> + <para> + Avoid crash if a table rewrite event trigger is added concurrently + with a command that could call such a trigger (Álvaro Herrera, + Andrew Gierth, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Avoid failure if a query-cancel or session-termination interrupt + occurs while committing a prepared transaction (Stas Kelvich) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leakage in repeatedly executed hash joins + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix overly strict sanity check + in <function>heap_prepare_freeze_tuple</function> + (Álvaro Herrera) + </para> + + <para> + This could result in incorrect <quote>cannot freeze committed + xmax</quote> failures in databases that have + been <application>pg_upgrade</application>'d from 9.2 or earlier. + </para> + </listitem> + + <listitem> + <para> + Prevent dangling-pointer dereference when a C-coded before-update row + trigger returns the <quote>old</quote> tuple (Rushabh Lathia) + </para> + </listitem> + + <listitem> + <para> + Reduce locking during autovacuum worker scheduling (Jeff Janes) + </para> + + <para> + The previous behavior caused drastic loss of potential worker + concurrency in databases with many tables. + </para> + </listitem> + + <listitem> + <para> + Ensure client hostname is copied while copying + <structname>pg_stat_activity</structname> data to local memory + (Edmund Horner) + </para> + + <para> + Previously the supposedly-local snapshot contained a pointer into + shared memory, allowing the client hostname column to change + unexpectedly if any existing session disconnected. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect processing of multiple compound affixes + in <literal>ispell</literal> dictionaries (Arthur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix collation-aware searches (that is, indexscans using inequality + operators) in SP-GiST indexes on text columns (Tom Lane) + </para> + + <para> + Such searches would return the wrong set of rows in most non-C + locales. + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during initial build of an + SP-GiST index (Tomas Vondra) + </para> + + <para> + Previously, the tuple count was reported to be the same as that of + the underlying table, which is wrong if the index is partial. + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during vacuuming of a + GiST index (Andrey Borodin) + </para> + + <para> + Previously it reported the estimated number of heap tuples, + which might be inaccurate, and is certainly wrong if the + index is partial. + </para> + </listitem> + + <listitem> + <para> + Fix a corner case where a streaming standby gets stuck at a WAL + continuation record (Kyotaro Horiguchi) + </para> + </listitem> + + <listitem> + <para> + In logical decoding, avoid possible double processing of WAL data + when a walsender restarts (Craig Ringer) + </para> + </listitem> + + <listitem> + <para> + Allow <function>scalarltsel</function> + and <function>scalargtsel</function> to be used on non-core datatypes + (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Reduce <application>libpq</application>'s memory consumption when a + server error is reported after a large amount of query output has + been collected (Tom Lane) + </para> + + <para> + Discard the previous output before, not after, processing the error + message. On some platforms, notably Linux, this can make a + difference in the application's subsequent memory footprint. + </para> + </listitem> + + <listitem> + <para> + Fix double-free crashes in <application>ecpg</application> + (Patrick Krecker, Jeevan Ladhe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application> to handle <type>long long + int</type> variables correctly in MSVC builds (Michael Meskes, + Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix mis-quoting of values for list-valued GUC variables in dumps + (Michael Paquier, Tom Lane) + </para> + + <para> + The <varname>local_preload_libraries</varname>, + <varname>session_preload_libraries</varname>, + <varname>shared_preload_libraries</varname>, + and <varname>temp_tablespaces</varname> variables were not correctly + quoted in <application>pg_dump</application> output. This would + cause problems if settings for these variables appeared in + <command>CREATE FUNCTION ... SET</command> or <command>ALTER + DATABASE/ROLE ... SET</command> clauses. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_recvlogical</application> to not fail against + pre-v10 <productname>PostgreSQL</productname> servers + (Michael Paquier) + </para> + + <para> + A previous fix caused <application>pg_recvlogical</application> to + issue a command regardless of server version, but it should only be + issued to v10 and later servers. + </para> + </listitem> + + <listitem> + <para> + Ensure that <application>pg_rewind</application> deletes files on the + target server if they are deleted from the source server during the + run (Takayuki Tsunakawa) + </para> + + <para> + Failure to do this could result in data inconsistency on the target, + particularly if the file in question is a WAL segment. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_rewind</application> to handle tables in + non-default tablespaces correctly (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Fix overflow handling in <application>PL/pgSQL</application> + integer <command>FOR</command> loops (Tom Lane) + </para> + + <para> + The previous coding failed to detect overflow of the loop variable + on some non-gcc compilers, leading to an infinite loop. + </para> + </listitem> + + <listitem> + <para> + Adjust <application>PL/Python</application> regression tests to pass + under Python 3.7 (Peter Eisentraut) + </para> + </listitem> + + <listitem> + <para> + Support testing <application>PL/Python</application> and related + modules when building with Python 3 and MSVC (Andrew Dunstan) + </para> + </listitem> + + <listitem> +<!-- +Author: Tom Lane <[email protected]> +Branch: REL9_5_STABLE [3c0e07a46] 2018-05-01 12:02:41 -0400 +--> + <para> + Support building with Microsoft Visual Studio 2015 (Michael Paquier) + </para> + + <para> + Various fixes needed for VS2015 compatibility were previously + back-patched into the 9.5 branch, but this one was missed. + </para> + </listitem> + + <listitem> + <para> + Rename internal <function>b64_encode</function> + and <function>b64_decode</function> functions to avoid conflict with + Solaris 11.4 built-in functions (Rainer Orth) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA tzcode release 2018e + (Tom Lane) + </para> + + <para> + This fixes the <application>zic</application> timezone data compiler + to cope with negative daylight-savings offsets. While + the <productname>PostgreSQL</productname> project will not + immediately ship such timezone data, <application>zic</application> + might be used with timezone data obtained directly from IANA, so it + seems prudent to update <application>zic</application> now. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018d for DST law changes in Palestine and Antarctica (Casey + Station), plus historical corrections for Portugal and its colonies, + as well as Enderbury, Jamaica, Turks & Caicos Islands, and + Uruguay. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-5-12"> <title>Release 9.5.12</title> diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml index f364aebeb5..4fb0634ef2 100644 --- a/doc/src/sgml/release-9.6.sgml +++ b/doc/src/sgml/release-9.6.sgml @@ -1,6 +1,538 @@ <!-- doc/src/sgml/release-9.6.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-6-9"> + <title>Release 9.6.9</title> + + <formalpara> + <title>Release date:</title> + <para>2018-05-10</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.6.8. + For information about new features in the 9.6 major release, see + <xref linkend="release-9-6"/>. + </para> + + <sect2> + <title>Migration to Version 9.6.9</title> + + <para> + A dump/restore is not required for those running 9.6.X. + </para> + + <para> + However, if the function marking mistakes mentioned in the first two + changelog entries below affect you, you will want to take steps to + correct your database catalogs. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.6.8, + see <xref linkend="release-9-6-8"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix incorrect volatility markings on a few built-in functions + (Thomas Munro, Tom Lane) + </para> + + <para> + The functions + <function>query_to_xml</function>, + <function>cursor_to_xml</function>, + <function>cursor_to_xmlschema</function>, + <function>query_to_xmlschema</function>, and + <function>query_to_xml_and_xmlschema</function> + should be marked volatile because they execute user-supplied queries + that might contain volatile operations. They were not, leading to a + risk of incorrect query optimization. This has been repaired for new + installations by correcting the initial catalog data, but existing + installations will continue to contain the incorrect markings. + Practical use of these functions seems to pose little hazard, but in + case of trouble, it can be fixed by manually updating these + functions' <structname>pg_proc</structname> entries. (Note that that + will need to be done in each database of the installation.) Another + option is to <application>pg_upgrade</application> the database to a + version containing the corrected initial data. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect parallel-safety markings on a few built-in functions + (Thomas Munro, Tom Lane) + </para> + + <para> + The functions + <function>brin_summarize_new_values</function>, + <function>brin_summarize_range</function>, + <function>brin_desummarize_range</function>, + <function>gin_clean_pending_list</function>, + <function>cursor_to_xml</function>, + <function>cursor_to_xmlschema</function>, + <function>ts_rewrite</function>, + <function>ts_stat</function>, + <function>binary_upgrade_create_empty_extension</function>, and + <function>pg_import_system_collations</function> + should be marked parallel-unsafe; some because they perform database + modifications directly, and others because they execute user-supplied + queries that might do so. They were marked parallel-restricted + instead, leading to a risk of unexpected query errors. This has been + repaired for new installations by correcting the initial catalog + data, but existing installations will continue to contain the + incorrect markings. Practical use of these functions seems to pose + little hazard unless <varname>force_parallel_mode</varname> is turned + on. In case of trouble, it can be fixed by manually updating these + functions' <structname>pg_proc</structname> entries. (Note that that + will need to be done in each database of the installation.) Another + option is to <application>pg_upgrade</application> the database to a + version containing the corrected initial data. + </para> + </listitem> + + <listitem> + <para> + Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed + TOAST entries (Pavan Deolasee) + </para> + + <para> + Once the OID counter has wrapped around, it's possible to assign a + TOAST value whose OID matches a previously deleted entry in the same + TOAST table. If that entry were not yet vacuumed away, this resulted + in <quote>unexpected chunk number 0 (expected 1) for toast + value <replaceable>nnnnn</replaceable></quote> errors, which would + persist until the dead entry was removed + by <command>VACUUM</command>. Fix by not selecting such OIDs when + creating a new TOAST entry. + </para> + </listitem> + + <listitem> + <para> + Change <command>ANALYZE</command>'s algorithm for updating + <structname>pg_class</structname>.<structfield>reltuples</structfield> + (David Gould) + </para> + + <para> + Previously, pages not actually scanned by <command>ANALYZE</command> + were assumed to retain their old tuple density. In a large table + where <command>ANALYZE</command> samples only a small fraction of the + pages, this meant that the overall tuple density estimate could not + change very much, so that <structfield>reltuples</structfield> would + change nearly proportionally to changes in the table's physical size + (<structfield>relpages</structfield>) regardless of what was actually + happening in the table. This has been observed to result + in <structfield>reltuples</structfield> becoming so much larger than + reality as to effectively shut off autovacuuming. To fix, assume + that <command>ANALYZE</command>'s sample is a statistically unbiased + sample of the table (as it should be), and just extrapolate the + density observed within those pages to the whole table. + </para> + </listitem> + + <listitem> + <para> + Avoid deadlocks in concurrent <command>CREATE INDEX + CONCURRENTLY</command> commands that are run + under <literal>SERIALIZABLE</literal> or <literal>REPEATABLE + READ</literal> transaction isolation (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible slow execution of <command>REFRESH MATERIALIZED VIEW + CONCURRENTLY</command> (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Fix <literal>UPDATE/DELETE ... WHERE CURRENT OF</literal> to not fail + when the referenced cursor uses an index-only-scan plan (Yugo Nagata, + Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix incorrect planning of join clauses pushed into parameterized + paths (Andrew Gierth, Tom Lane) + </para> + + <para> + This error could result in misclassifying a condition as + a <quote>join filter</quote> for an outer join when it should be a + plain <quote>filter</quote> condition, leading to incorrect join + output. + </para> + </listitem> + + <listitem> + <para> + Fix possibly incorrect generation of an index-only-scan plan when the + same table column appears in multiple index columns, and only some of + those index columns use operator classes that can return the column + value (Kyotaro Horiguchi) + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of <literal>CHECK</literal> constraints having + provably-NULL subclauses of + top-level <literal>AND</literal>/<literal>OR</literal> conditions + (Tom Lane, Dean Rasheed) + </para> + + <para> + This could, for example, allow constraint exclusion to exclude a + child table that should not be excluded from a query. + </para> + </listitem> + + <listitem> + <para> + Fix executor crash due to double free in some <literal>GROUPING + SET</literal> usages (Peter Geoghegan) + </para> + </listitem> + + <listitem> + <para> + Avoid crash if a table rewrite event trigger is added concurrently + with a command that could call such a trigger (Álvaro Herrera, + Andrew Gierth, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Avoid failure if a query-cancel or session-termination interrupt + occurs while committing a prepared transaction (Stas Kelvich) + </para> + </listitem> + + <listitem> + <para> + Fix query-lifespan memory leakage in repeatedly executed hash joins + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix possible leak or double free of visibility map buffer pins + (Amit Kapila) + </para> + </listitem> + + <listitem> + <para> + Avoid spuriously marking pages as all-visible (Dan Wood, + Pavan Deolasee, Álvaro Herrera) + </para> + + <para> + This could happen if some tuples were locked (but not deleted). While + queries would still function correctly, vacuum would normally ignore + such pages, with the long-term effect that the tuples were never + frozen. In recent releases this would eventually result in errors + such as <quote>found multixact <replaceable>nnnnn</replaceable> from + before relminmxid <replaceable>nnnnn</replaceable></quote>. + </para> + </listitem> + + <listitem> + <para> + Fix overly strict sanity check + in <function>heap_prepare_freeze_tuple</function> + (Álvaro Herrera) + </para> + + <para> + This could result in incorrect <quote>cannot freeze committed + xmax</quote> failures in databases that have + been <application>pg_upgrade</application>'d from 9.2 or earlier. + </para> + </listitem> + + <listitem> + <para> + Prevent dangling-pointer dereference when a C-coded before-update row + trigger returns the <quote>old</quote> tuple (Rushabh Lathia) + </para> + </listitem> + + <listitem> + <para> + Reduce locking during autovacuum worker scheduling (Jeff Janes) + </para> + + <para> + The previous behavior caused drastic loss of potential worker + concurrency in databases with many tables. + </para> + </listitem> + + <listitem> + <para> + Ensure client hostname is copied while copying + <structname>pg_stat_activity</structname> data to local memory + (Edmund Horner) + </para> + + <para> + Previously the supposedly-local snapshot contained a pointer into + shared memory, allowing the client hostname column to change + unexpectedly if any existing session disconnected. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect processing of multiple compound affixes + in <literal>ispell</literal> dictionaries (Arthur Zakirov) + </para> + </listitem> + + <listitem> + <para> + Fix collation-aware searches (that is, indexscans using inequality + operators) in SP-GiST indexes on text columns (Tom Lane) + </para> + + <para> + Such searches would return the wrong set of rows in most non-C + locales. + </para> + </listitem> + + <listitem> + <para> + Prevent query-lifespan memory leakage with SP-GiST operator classes + that use traversal values (Anton Dignös) + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during initial build of an + SP-GiST index (Tomas Vondra) + </para> + + <para> + Previously, the tuple count was reported to be the same as that of + the underlying table, which is wrong if the index is partial. + </para> + </listitem> + + <listitem> + <para> + Count the number of index tuples correctly during vacuuming of a + GiST index (Andrey Borodin) + </para> + + <para> + Previously it reported the estimated number of heap tuples, + which might be inaccurate, and is certainly wrong if the + index is partial. + </para> + </listitem> + + <listitem> + <para> + Fix a corner case where a streaming standby gets stuck at a WAL + continuation record (Kyotaro Horiguchi) + </para> + </listitem> + + <listitem> + <para> + In logical decoding, avoid possible double processing of WAL data + when a walsender restarts (Craig Ringer) + </para> + </listitem> + + <listitem> + <para> + Allow <function>scalarltsel</function> + and <function>scalargtsel</function> to be used on non-core datatypes + (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Reduce <application>libpq</application>'s memory consumption when a + server error is reported after a large amount of query output has + been collected (Tom Lane) + </para> + + <para> + Discard the previous output before, not after, processing the error + message. On some platforms, notably Linux, this can make a + difference in the application's subsequent memory footprint. + </para> + </listitem> + + <listitem> + <para> + Fix double-free crashes in <application>ecpg</application> + (Patrick Krecker, Jeevan Ladhe) + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application> to handle <type>long long + int</type> variables correctly in MSVC builds (Michael Meskes, + Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix mis-quoting of values for list-valued GUC variables in dumps + (Michael Paquier, Tom Lane) + </para> + + <para> + The <varname>local_preload_libraries</varname>, + <varname>session_preload_libraries</varname>, + <varname>shared_preload_libraries</varname>, + and <varname>temp_tablespaces</varname> variables were not correctly + quoted in <application>pg_dump</application> output. This would + cause problems if settings for these variables appeared in + <command>CREATE FUNCTION ... SET</command> or <command>ALTER + DATABASE/ROLE ... SET</command> clauses. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_recvlogical</application> to not fail against + pre-v10 <productname>PostgreSQL</productname> servers + (Michael Paquier) + </para> + + <para> + A previous fix caused <application>pg_recvlogical</application> to + issue a command regardless of server version, but it should only be + issued to v10 and later servers. + </para> + </listitem> + + <listitem> + <para> + Ensure that <application>pg_rewind</application> deletes files on the + target server if they are deleted from the source server during the + run (Takayuki Tsunakawa) + </para> + + <para> + Failure to do this could result in data inconsistency on the target, + particularly if the file in question is a WAL segment. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_rewind</application> to handle tables in + non-default tablespaces correctly (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Fix overflow handling in <application>PL/pgSQL</application> + integer <command>FOR</command> loops (Tom Lane) + </para> + + <para> + The previous coding failed to detect overflow of the loop variable + on some non-gcc compilers, leading to an infinite loop. + </para> + </listitem> + + <listitem> + <para> + Adjust <application>PL/Python</application> regression tests to pass + under Python 3.7 (Peter Eisentraut) + </para> + </listitem> + + <listitem> + <para> + Support testing <application>PL/Python</application> and related + modules when building with Python 3 and MSVC (Andrew Dunstan) + </para> + </listitem> + + <listitem> + <para> + Fix errors in initial build of <filename>contrib/bloom</filename> + indexes (Tomas Vondra, Tom Lane) + </para> + + <para> + Fix possible omission of the table's last tuple from the index. + Count the number of index tuples correctly, in case it is a partial + index. + </para> + </listitem> + + <listitem> + <para> + Rename internal <function>b64_encode</function> + and <function>b64_decode</function> functions to avoid conflict with + Solaris 11.4 built-in functions (Rainer Orth) + </para> + </listitem> + + <listitem> + <para> + Sync our copy of the timezone library with IANA tzcode release 2018e + (Tom Lane) + </para> + + <para> + This fixes the <application>zic</application> timezone data compiler + to cope with negative daylight-savings offsets. While + the <productname>PostgreSQL</productname> project will not + immediately ship such timezone data, <application>zic</application> + might be used with timezone data obtained directly from IANA, so it + seems prudent to update <application>zic</application> now. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018d for DST law changes in Palestine and Antarctica (Casey + Station), plus historical corrections for Portugal and its colonies, + as well as Enderbury, Jamaica, Turks & Caicos Islands, and + Uruguay. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-6-8"> <title>Release 9.6.8</title> |