diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-08-05 16:38:42 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-08-05 16:38:42 -0400 |
commit | aa291a4cf70a180669a298f912a4e4f7869ce9ab (patch) | |
tree | 434378be621628d1c1b032f26d6b5a04bbf7784b | |
parent | a3274e0d28871f25c4c76e335b39766d7e5be07c (diff) | |
download | postgresql-aa291a4cf70a180669a298f912a4e4f7869ce9ab.tar.gz postgresql-aa291a4cf70a180669a298f912a4e4f7869ce9ab.zip |
Release notes for 10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24.
-rw-r--r-- | doc/src/sgml/release-10.sgml | 57 | ||||
-rw-r--r-- | doc/src/sgml/release-9.3.sgml | 289 | ||||
-rw-r--r-- | doc/src/sgml/release-9.4.sgml | 340 | ||||
-rw-r--r-- | doc/src/sgml/release-9.5.sgml | 388 | ||||
-rw-r--r-- | doc/src/sgml/release-9.6.sgml | 412 |
5 files changed, 1484 insertions, 2 deletions
diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml index 9fac4651317..1dcb6d9a86b 100644 --- a/doc/src/sgml/release-10.sgml +++ b/doc/src/sgml/release-10.sgml @@ -260,6 +260,51 @@ Branch: REL_10_STABLE [4beb25c63] 2018-07-16 17:55:13 -0400 <listitem> <!-- +Author: Tom Lane <tgl@sss.pgh.pa.us> +Branch: master [b8a1247a3] 2018-08-04 19:38:58 -0400 +Branch: REL_11_STABLE [e7154b6ac] 2018-08-04 19:38:58 -0400 +Branch: REL_10_STABLE [f6a124d01] 2018-08-04 19:38:58 -0400 +Branch: REL9_6_STABLE [b484bffe7] 2018-08-04 19:38:58 -0400 +Branch: REL9_5_STABLE [5ad143cda] 2018-08-04 19:38:59 -0400 +--> + <para> + Fix <literal>INSERT ... ON CONFLICT UPDATE</literal> through a view + that isn't just <literal>SELECT * FROM ...</literal> + (Dean Rasheed, Amit Langote) + </para> + + <para> + Erroneous expansion of an updatable view could lead to crashes + or <quote>attribute ... has the wrong type</quote> errors, if the + view's <literal>SELECT</literal> list doesn't match one-to-one with + the underlying table's columns. + </para> + </listitem> + + <listitem> +<!-- +Author: Peter Geoghegan <pg@bowt.ie> +Branch: master [b3f919da0] 2018-08-03 15:11:31 -0700 +Branch: REL_11_STABLE [b9612e5cf] 2018-08-03 14:45:02 -0700 +Branch: REL_10_STABLE [c83408aa7] 2018-08-03 14:44:56 -0700 +Branch: REL9_6_STABLE [0a60a291c] 2018-08-03 14:44:44 -0700 +Branch: REL9_5_STABLE [aca225741] 2018-08-03 14:44:38 -0700 +Branch: REL9_4_STABLE [250528cec] 2018-08-03 14:44:33 -0700 +Branch: REL9_3_STABLE [0229e087d] 2018-08-03 14:44:26 -0700 +--> + <para> + Ensure a table's cached index list is correctly rebuilt after an index + creation fails partway through (Peter Geoghegan) + </para> + + <para> + Previously, the failed index's OID could remain in the list, causing + problems later in the same session. + </para> + </listitem> + + <listitem> +<!-- Author: Alexander Korotkov <akorotkov@postgresql.org> Branch: master [309765fa1] 2018-07-19 21:04:17 +0300 Branch: REL_11_STABLE [608793266] 2018-07-19 23:26:15 +0300 @@ -332,7 +377,7 @@ Branch: REL9_4_STABLE [8c8c9f37c] 2018-07-04 14:58:26 -0700 <para> Corrupted btree indexes could result in an infinite loop here, and - that previously wasn't interruptable without forcing a crash. + that previously wasn't interruptible without forcing a crash. </para> </listitem> @@ -819,7 +864,7 @@ Branch: REL9_4_STABLE [addf9e1bd] 2018-07-30 12:35:49 -0400 </para> <para> - Manually-created unique indexes were properly marked, but not those + Manually created unique indexes were properly marked, but not those created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY KEY</literal> constraints. </para> @@ -902,6 +947,14 @@ Branch: REL9_6_STABLE [7fdf56b0a] 2018-06-25 11:20:50 +0900 Branch: REL9_5_STABLE [910e2aca1] 2018-06-25 11:21:49 +0900 Branch: REL9_4_STABLE [79b5b101f] 2018-06-25 11:22:02 +0900 Branch: REL9_3_STABLE [f53ed82b7] 2018-06-25 11:22:24 +0900 +Author: Michael Paquier <michael@paquier.xyz> +Branch: master [5a23c74b6] 2018-08-05 05:31:18 +0900 +Branch: REL_11_STABLE [58673b4a5] 2018-08-05 05:31:56 +0900 +Branch: REL_10_STABLE [7124e6452] 2018-08-05 05:32:12 +0900 +Branch: REL9_6_STABLE [f5b4bb881] 2018-08-05 05:32:27 +0900 +Branch: REL9_5_STABLE [afd5fde85] 2018-08-05 05:32:37 +0900 +Branch: REL9_4_STABLE [e69a3ac4a] 2018-08-05 05:32:44 +0900 +Branch: REL9_3_STABLE [69599cc49] 2018-08-05 05:32:54 +0900 Author: Magnus Hagander <magnus@hagander.net> Branch: master Release: REL_11_BR [cfb758b6d] 2018-05-18 17:54:18 +0200 Branch: REL_10_STABLE [29ce50091] 2018-05-18 17:53:12 +0200 diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index 2990bc44ef5..9ded45fa967 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,295 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-24"> + <title>Release 9.3.24</title> + + <formalpara> + <title>Release date:</title> + <para>2018-08-09</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.3.23. + For information about new features in the 9.3 major release, see + <xref linkend="release-9-3"/>. + </para> + + <para> + The <productname>PostgreSQL</productname> community will stop releasing + updates for the 9.3.X release series shortly after September 2018. + Users are encouraged to update to a newer release branch soon. + </para> + + <sect2> + <title>Migration to Version 9.3.24</title> + + <para> + A dump/restore is not required for those running 9.3.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.3.23, + see <xref linkend="release-9-3-23"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Ensure that updates to the <structfield>relfrozenxid</structfield> + and <structfield>relminmxid</structfield> values + for <quote>nailed</quote> system catalogs are processed in a timely + fashion (Andres Freund) + </para> + + <para> + Overoptimistic caching rules could prevent these updates from being + seen by other sessions, leading to spurious errors and/or data + corruption. The problem was significantly worse for shared catalogs, + such as <structname>pg_authid</structname>, because the stale cache + data could persist into new sessions as well as existing ones. + </para> + </listitem> + + <listitem> + <para> + Fix case where a freshly-promoted standby crashes before having + completed its first post-recovery checkpoint (Michael Paquier, Kyotaro + Horiguchi, Pavan Deolasee, Álvaro Herrera) + </para> + + <para> + This led to a situation where the server did not think it had reached + a consistent database state during subsequent WAL replay, preventing + restart. + </para> + </listitem> + + <listitem> + <para> + Avoid emitting a bogus WAL record when recycling an all-zero btree + page (Amit Kapila) + </para> + + <para> + This mistake has been seen to cause assertion failures, and + potentially it could result in unnecessary query cancellations on hot + standby servers. + </para> + </listitem> + + <listitem> + <para> + Improve performance of WAL replay for transactions that drop many + relations (Fujii Masao) + </para> + + <para> + This change reduces the number of times that shared buffers are + scanned, so that it is of most benefit when that setting is large. + </para> + </listitem> + + <listitem> + <para> + Improve performance of lock releasing in standby server WAL replay + (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Ensure a table's cached index list is correctly rebuilt after an index + creation fails partway through (Peter Geoghegan) + </para> + + <para> + Previously, the failed index's OID could remain in the list, causing + problems later in the same session. + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of equivalence classes involving composite-type + columns (Tom Lane) + </para> + + <para> + This resulted in failure to recognize that an index on a composite + column could provide the sort order needed for a mergejoin on that + column. + </para> + </listitem> + + <listitem> + <para> + Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow + parameters (<literal>$<replaceable>n</replaceable></literal>), as the + standard expects (Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix failure to schema-qualify some object names + in <function>getObjectDescription</function> output + (Kyotaro Horiguchi, Tom Lane) + </para> + + <para> + Names of collations, conversions, and text search objects + were not schema-qualified when they should be. + </para> + </listitem> + + <listitem> + <para> + Widen <command>COPY FROM</command>'s current-line-number counter + from 32 to 64 bits (David Rowley) + </para> + + <para> + This avoids two problems with input exceeding 4G lines: <literal>COPY + FROM WITH HEADER</literal> would drop a line every 4G lines, not only + the first line, and error reports could show a wrong line number. + </para> + </listitem> + + <listitem> + <para> + Add a string freeing function + to <application>ecpg</application>'s <filename>pgtypes</filename> + library, so that cross-module memory management problems can be + avoided on Windows (Takayuki Tsunakawa) + </para> + + <para> + On Windows, crashes can ensue if the <function>free</function> call + for a given chunk of memory is not made from the same DLL + that <function>malloc</function>'ed the memory. + The <filename>pgtypes</filename> library sometimes returns strings + that it expects the caller to free, making it impossible to follow + this rule. Add a <function>PGTYPESchar_free()</function> function + that just wraps <function>free</function>, allowing applications + to follow this rule. + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application>'s support for <type>long + long</type> variables on Windows, as well as other platforms that + declare <function>strtoll</function>/<function>strtoull</function> + nonstandardly or not at all (Dang Minh Huong, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix misidentification of SQL statement type in PL/pgSQL, when a rule + change causes a change in the semantics of a statement intra-session + (Tom Lane) + </para> + + <para> + This error led to assertion failures, or in rare cases, failure to + enforce the <literal>INTO STRICT</literal> option as expected. + </para> + </listitem> + + <listitem> + <para> + Fix password prompting in client programs so that echo is properly + disabled on Windows when <literal>stdin</literal> is not the + terminal (Matthew Stickney) + </para> + </listitem> + + <listitem> + <para> + Further fix mis-quoting of values for list-valued GUC variables in + dumps (Tom Lane) + </para> + + <para> + The previous fix for quoting of <varname>search_path</varname> and + other list-valued variables in <application>pg_dump</application> + output turned out to misbehave for empty-string list elements, and it + risked truncation of long file paths. + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_upgrade</application> check that the old server + was shut down cleanly (Bruce Momjian) + </para> + + <para> + The previous check could be fooled by an immediate-mode shutdown. + </para> + </listitem> + + <listitem> + <para> + Fix crash in <filename>contrib/ltree</filename>'s + <function>lca()</function> function when the input array is empty + (Pierre Ducroquet) + </para> + </listitem> + + <listitem> + <para> + Fix various error-handling code paths in which an incorrect error code + might be reported (Michael Paquier, Tom Lane, Magnus Hagander) + </para> + </listitem> + + <listitem> + <para> + Rearrange makefiles to ensure that programs link to freshly-built + libraries (such as <filename>libpq.so</filename>) rather than ones + that might exist in the system library directories (Tom Lane) + </para> + + <para> + This avoids problems when building on platforms that supply old copies + of <productname>PostgreSQL</productname> libraries. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018e for DST law changes in North Korea, plus historical + corrections for Czechoslovakia. + </para> + + <para> + This update includes a redefinition of <quote>daylight savings</quote> + in Ireland, as well as for some past years in Namibia and + Czechoslovakia. In those jurisdictions, legally standard time is + observed in summer, and daylight savings time in winter, so that the + daylight savings offset is one hour behind standard time not one hour + ahead. This does not affect either the actual UTC offset or the + timezone abbreviations in use; the only known effect is that + the <structfield>is_dst</structfield> column in + the <structname>pg_timezone_names</structname> view will now be true + in winter and false in summer in these cases. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-3-23"> <title>Release 9.3.23</title> diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index 57d51b7bd3e..6a01fbd4bee 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -1,6 +1,346 @@ <!-- doc/src/sgml/release-9.4.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-4-19"> + <title>Release 9.4.19</title> + + <formalpara> + <title>Release date:</title> + <para>2018-08-09</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.4.18. + 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.19</title> + + <para> + A dump/restore is not required for those running 9.4.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.4.18, + see <xref linkend="release-9-4-18"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Ensure that updates to the <structfield>relfrozenxid</structfield> + and <structfield>relminmxid</structfield> values + for <quote>nailed</quote> system catalogs are processed in a timely + fashion (Andres Freund) + </para> + + <para> + Overoptimistic caching rules could prevent these updates from being + seen by other sessions, leading to spurious errors and/or data + corruption. The problem was significantly worse for shared catalogs, + such as <structname>pg_authid</structname>, because the stale cache + data could persist into new sessions as well as existing ones. + </para> + </listitem> + + <listitem> + <para> + Fix case where a freshly-promoted standby crashes before having + completed its first post-recovery checkpoint (Michael Paquier, Kyotaro + Horiguchi, Pavan Deolasee, Álvaro Herrera) + </para> + + <para> + This led to a situation where the server did not think it had reached + a consistent database state during subsequent WAL replay, preventing + restart. + </para> + </listitem> + + <listitem> + <para> + Avoid emitting a bogus WAL record when recycling an all-zero btree + page (Amit Kapila) + </para> + + <para> + This mistake has been seen to cause assertion failures, and + potentially it could result in unnecessary query cancellations on hot + standby servers. + </para> + </listitem> + + <listitem> + <para> + Improve performance of WAL replay for transactions that drop many + relations (Fujii Masao) + </para> + + <para> + This change reduces the number of times that shared buffers are + scanned, so that it is of most benefit when that setting is large. + </para> + </listitem> + + <listitem> + <para> + Improve performance of lock releasing in standby server WAL replay + (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Make logical WAL senders report streaming state correctly (Simon + Riggs, Sawada Masahiko) + </para> + + <para> + The code previously mis-detected whether or not it had caught up with + the upstream server. + </para> + </listitem> + + <listitem> + <para> + Fix bugs in snapshot handling during logical decoding, allowing wrong + decoding results in rare cases (Arseny Sher, Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Ensure a table's cached index list is correctly rebuilt after an index + creation fails partway through (Peter Geoghegan) + </para> + + <para> + Previously, the failed index's OID could remain in the list, causing + problems later in the same session. + </para> + </listitem> + + <listitem> + <para> + Fix mishandling of empty uncompressed posting list pages in GIN + indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov) + </para> + + <para> + This could result in an assertion failure after pg_upgrade of a + pre-9.4 GIN index (9.4 and later will not create such pages). + </para> + </listitem> + + <listitem> + <para> + Ensure that <command>VACUUM</command> will respond to signals + within btree page deletion loops (Andres Freund) + </para> + + <para> + Corrupted btree indexes could result in an infinite loop here, and + that previously wasn't interruptible without forcing a crash. + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of equivalence classes involving composite-type + columns (Tom Lane) + </para> + + <para> + This resulted in failure to recognize that an index on a composite + column could provide the sort order needed for a mergejoin on that + column. + </para> + </listitem> + + <listitem> + <para> + Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow + parameters (<literal>$<replaceable>n</replaceable></literal>), as the + standard expects (Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix failure to schema-qualify some object names + in <function>getObjectDescription</function> output + (Kyotaro Horiguchi, Tom Lane) + </para> + + <para> + Names of collations, conversions, and text search objects + were not schema-qualified when they should be. + </para> + </listitem> + + <listitem> + <para> + Widen <command>COPY FROM</command>'s current-line-number counter + from 32 to 64 bits (David Rowley) + </para> + + <para> + This avoids two problems with input exceeding 4G lines: <literal>COPY + FROM WITH HEADER</literal> would drop a line every 4G lines, not only + the first line, and error reports could show a wrong line number. + </para> + </listitem> + + <listitem> + <para> + Add a string freeing function + to <application>ecpg</application>'s <filename>pgtypes</filename> + library, so that cross-module memory management problems can be + avoided on Windows (Takayuki Tsunakawa) + </para> + + <para> + On Windows, crashes can ensue if the <function>free</function> call + for a given chunk of memory is not made from the same DLL + that <function>malloc</function>'ed the memory. + The <filename>pgtypes</filename> library sometimes returns strings + that it expects the caller to free, making it impossible to follow + this rule. Add a <function>PGTYPESchar_free()</function> function + that just wraps <function>free</function>, allowing applications + to follow this rule. + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application>'s support for <type>long + long</type> variables on Windows, as well as other platforms that + declare <function>strtoll</function>/<function>strtoull</function> + nonstandardly or not at all (Dang Minh Huong, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix misidentification of SQL statement type in PL/pgSQL, when a rule + change causes a change in the semantics of a statement intra-session + (Tom Lane) + </para> + + <para> + This error led to assertion failures, or in rare cases, failure to + enforce the <literal>INTO STRICT</literal> option as expected. + </para> + </listitem> + + <listitem> + <para> + Fix password prompting in client programs so that echo is properly + disabled on Windows when <literal>stdin</literal> is not the + terminal (Matthew Stickney) + </para> + </listitem> + + <listitem> + <para> + Further fix mis-quoting of values for list-valued GUC variables in + dumps (Tom Lane) + </para> + + <para> + The previous fix for quoting of <varname>search_path</varname> and + other list-valued variables in <application>pg_dump</application> + output turned out to misbehave for empty-string list elements, and it + risked truncation of long file paths. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</application>'s failure to + dump <literal>REPLICA IDENTITY</literal> properties for constraint + indexes (Tom Lane) + </para> + + <para> + Manually created unique indexes were properly marked, but not those + created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY + KEY</literal> constraints. + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_upgrade</application> check that the old server + was shut down cleanly (Bruce Momjian) + </para> + + <para> + The previous check could be fooled by an immediate-mode shutdown. + </para> + </listitem> + + <listitem> + <para> + Fix crash in <filename>contrib/ltree</filename>'s + <function>lca()</function> function when the input array is empty + (Pierre Ducroquet) + </para> + </listitem> + + <listitem> + <para> + Fix various error-handling code paths in which an incorrect error code + might be reported (Michael Paquier, Tom Lane, Magnus Hagander) + </para> + </listitem> + + <listitem> + <para> + Rearrange makefiles to ensure that programs link to freshly-built + libraries (such as <filename>libpq.so</filename>) rather than ones + that might exist in the system library directories (Tom Lane) + </para> + + <para> + This avoids problems when building on platforms that supply old copies + of <productname>PostgreSQL</productname> libraries. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018e for DST law changes in North Korea, plus historical + corrections for Czechoslovakia. + </para> + + <para> + This update includes a redefinition of <quote>daylight savings</quote> + in Ireland, as well as for some past years in Namibia and + Czechoslovakia. In those jurisdictions, legally standard time is + observed in summer, and daylight savings time in winter, so that the + daylight savings offset is one hour behind standard time not one hour + ahead. This does not affect either the actual UTC offset or the + timezone abbreviations in use; the only known effect is that + the <structfield>is_dst</structfield> column in + the <structname>pg_timezone_names</structname> view will now be true + in winter and false in summer in these cases. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-4-18"> <title>Release 9.4.18</title> diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index 2af76b7ad40..d414ab4f71c 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -1,6 +1,394 @@ <!-- doc/src/sgml/release-9.5.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-5-14"> + <title>Release 9.5.14</title> + + <formalpara> + <title>Release date:</title> + <para>2018-08-09</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.5.13. + 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.14</title> + + <para> + A dump/restore is not required for those running 9.5.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.5.13, + see <xref linkend="release-9-5-13"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Ensure that updates to the <structfield>relfrozenxid</structfield> + and <structfield>relminmxid</structfield> values + for <quote>nailed</quote> system catalogs are processed in a timely + fashion (Andres Freund) + </para> + + <para> + Overoptimistic caching rules could prevent these updates from being + seen by other sessions, leading to spurious errors and/or data + corruption. The problem was significantly worse for shared catalogs, + such as <structname>pg_authid</structname>, because the stale cache + data could persist into new sessions as well as existing ones. + </para> + </listitem> + + <listitem> + <para> + Fix case where a freshly-promoted standby crashes before having + completed its first post-recovery checkpoint (Michael Paquier, Kyotaro + Horiguchi, Pavan Deolasee, Álvaro Herrera) + </para> + + <para> + This led to a situation where the server did not think it had reached + a consistent database state during subsequent WAL replay, preventing + restart. + </para> + </listitem> + + <listitem> + <para> + Avoid emitting a bogus WAL record when recycling an all-zero btree + page (Amit Kapila) + </para> + + <para> + This mistake has been seen to cause assertion failures, and + potentially it could result in unnecessary query cancellations on hot + standby servers. + </para> + </listitem> + + <listitem> + <para> + During WAL replay, guard against corrupted record lengths exceeding + 1GB (Michael Paquier) + </para> + + <para> + Treat such a case as corrupt data. Previously, the code would try to + allocate space and get a hard error, making recovery impossible. + </para> + </listitem> + + <listitem> + <para> + When ending recovery, delay writing the timeline history file as long + as possible (Heikki Linnakangas) + </para> + + <para> + This avoids some situations where a failure during recovery cleanup + (such as a problem with a two-phase state file) led to inconsistent + timeline state on-disk. + </para> + </listitem> + + <listitem> + <para> + Improve performance of WAL replay for transactions that drop many + relations (Fujii Masao) + </para> + + <para> + This change reduces the number of times that shared buffers are + scanned, so that it is of most benefit when that setting is large. + </para> + </listitem> + + <listitem> + <para> + Improve performance of lock releasing in standby server WAL replay + (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Make logical WAL senders report streaming state correctly (Simon + Riggs, Sawada Masahiko) + </para> + + <para> + The code previously mis-detected whether or not it had caught up with + the upstream server. + </para> + </listitem> + + <listitem> + <para> + Fix bugs in snapshot handling during logical decoding, allowing wrong + decoding results in rare cases (Arseny Sher, Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Fix <literal>INSERT ... ON CONFLICT UPDATE</literal> through a view + that isn't just <literal>SELECT * FROM ...</literal> + (Dean Rasheed, Amit Langote) + </para> + + <para> + Erroneous expansion of an updatable view could lead to crashes + or <quote>attribute ... has the wrong type</quote> errors, if the + view's <literal>SELECT</literal> list doesn't match one-to-one with + the underlying table's columns. + </para> + </listitem> + + <listitem> + <para> + Ensure a table's cached index list is correctly rebuilt after an index + creation fails partway through (Peter Geoghegan) + </para> + + <para> + Previously, the failed index's OID could remain in the list, causing + problems later in the same session. + </para> + </listitem> + + <listitem> + <para> + Fix mishandling of empty uncompressed posting list pages in GIN + indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov) + </para> + + <para> + This could result in an assertion failure after pg_upgrade of a + pre-9.4 GIN index (9.4 and later will not create such pages). + </para> + </listitem> + + <listitem> + <para> + Ensure that <command>VACUUM</command> will respond to signals + within btree page deletion loops (Andres Freund) + </para> + + <para> + Corrupted btree indexes could result in an infinite loop here, and + that previously wasn't interruptible without forcing a crash. + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of equivalence classes involving composite-type + columns (Tom Lane) + </para> + + <para> + This resulted in failure to recognize that an index on a composite + column could provide the sort order needed for a mergejoin on that + column. + </para> + </listitem> + + <listitem> + <para> + Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow + parameters (<literal>$<replaceable>n</replaceable></literal>), as the + standard expects (Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix failure to schema-qualify some object names + in <function>getObjectDescription</function> output + (Kyotaro Horiguchi, Tom Lane) + </para> + + <para> + Names of collations, conversions, and text search objects + were not schema-qualified when they should be. + </para> + </listitem> + + <listitem> + <para> + Widen <command>COPY FROM</command>'s current-line-number counter + from 32 to 64 bits (David Rowley) + </para> + + <para> + This avoids two problems with input exceeding 4G lines: <literal>COPY + FROM WITH HEADER</literal> would drop a line every 4G lines, not only + the first line, and error reports could show a wrong line number. + </para> + </listitem> + + <listitem> + <para> + Add a string freeing function + to <application>ecpg</application>'s <filename>pgtypes</filename> + library, so that cross-module memory management problems can be + avoided on Windows (Takayuki Tsunakawa) + </para> + + <para> + On Windows, crashes can ensue if the <function>free</function> call + for a given chunk of memory is not made from the same DLL + that <function>malloc</function>'ed the memory. + The <filename>pgtypes</filename> library sometimes returns strings + that it expects the caller to free, making it impossible to follow + this rule. Add a <function>PGTYPESchar_free()</function> function + that just wraps <function>free</function>, allowing applications + to follow this rule. + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application>'s support for <type>long + long</type> variables on Windows, as well as other platforms that + declare <function>strtoll</function>/<function>strtoull</function> + nonstandardly or not at all (Dang Minh Huong, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix misidentification of SQL statement type in PL/pgSQL, when a rule + change causes a change in the semantics of a statement intra-session + (Tom Lane) + </para> + + <para> + This error led to assertion failures, or in rare cases, failure to + enforce the <literal>INTO STRICT</literal> option as expected. + </para> + </listitem> + + <listitem> + <para> + Fix password prompting in client programs so that echo is properly + disabled on Windows when <literal>stdin</literal> is not the + terminal (Matthew Stickney) + </para> + </listitem> + + <listitem> + <para> + Further fix mis-quoting of values for list-valued GUC variables in + dumps (Tom Lane) + </para> + + <para> + The previous fix for quoting of <varname>search_path</varname> and + other list-valued variables in <application>pg_dump</application> + output turned out to misbehave for empty-string list elements, and it + risked truncation of long file paths. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</application>'s failure to + dump <literal>REPLICA IDENTITY</literal> properties for constraint + indexes (Tom Lane) + </para> + + <para> + Manually created unique indexes were properly marked, but not those + created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY + KEY</literal> constraints. + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_upgrade</application> check that the old server + was shut down cleanly (Bruce Momjian) + </para> + + <para> + The previous check could be fooled by an immediate-mode shutdown. + </para> + </listitem> + + <listitem> + <para> + Fix <filename>contrib/hstore_plperl</filename> to look through Perl + scalar references, and to not crash if it doesn't find a hash + reference where it expects one (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix crash in <filename>contrib/ltree</filename>'s + <function>lca()</function> function when the input array is empty + (Pierre Ducroquet) + </para> + </listitem> + + <listitem> + <para> + Fix various error-handling code paths in which an incorrect error code + might be reported (Michael Paquier, Tom Lane, Magnus Hagander) + </para> + </listitem> + + <listitem> + <para> + Rearrange makefiles to ensure that programs link to freshly-built + libraries (such as <filename>libpq.so</filename>) rather than ones + that might exist in the system library directories (Tom Lane) + </para> + + <para> + This avoids problems when building on platforms that supply old copies + of <productname>PostgreSQL</productname> libraries. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018e for DST law changes in North Korea, plus historical + corrections for Czechoslovakia. + </para> + + <para> + This update includes a redefinition of <quote>daylight savings</quote> + in Ireland, as well as for some past years in Namibia and + Czechoslovakia. In those jurisdictions, legally standard time is + observed in summer, and daylight savings time in winter, so that the + daylight savings offset is one hour behind standard time not one hour + ahead. This does not affect either the actual UTC offset or the + timezone abbreviations in use; the only known effect is that + the <structfield>is_dst</structfield> column in + the <structname>pg_timezone_names</structname> view will now be true + in winter and false in summer in these cases. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-5-13"> <title>Release 9.5.13</title> diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml index b571fbd9b6a..4e6b721efb5 100644 --- a/doc/src/sgml/release-9.6.sgml +++ b/doc/src/sgml/release-9.6.sgml @@ -1,6 +1,418 @@ <!-- doc/src/sgml/release-9.6.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-6-10"> + <title>Release 9.6.10</title> + + <formalpara> + <title>Release date:</title> + <para>2018-08-09</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.6.9. + 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.10</title> + + <para> + A dump/restore is not required for those running 9.6.X. + </para> + + <para> + However, if you are upgrading from a version earlier than 9.6.9, + see <xref linkend="release-9-6-9"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Ensure that updates to the <structfield>relfrozenxid</structfield> + and <structfield>relminmxid</structfield> values + for <quote>nailed</quote> system catalogs are processed in a timely + fashion (Andres Freund) + </para> + + <para> + Overoptimistic caching rules could prevent these updates from being + seen by other sessions, leading to spurious errors and/or data + corruption. The problem was significantly worse for shared catalogs, + such as <structname>pg_authid</structname>, because the stale cache + data could persist into new sessions as well as existing ones. + </para> + </listitem> + + <listitem> + <para> + Fix case where a freshly-promoted standby crashes before having + completed its first post-recovery checkpoint (Michael Paquier, Kyotaro + Horiguchi, Pavan Deolasee, Álvaro Herrera) + </para> + + <para> + This led to a situation where the server did not think it had reached + a consistent database state during subsequent WAL replay, preventing + restart. + </para> + </listitem> + + <listitem> + <para> + Avoid emitting a bogus WAL record when recycling an all-zero btree + page (Amit Kapila) + </para> + + <para> + This mistake has been seen to cause assertion failures, and + potentially it could result in unnecessary query cancellations on hot + standby servers. + </para> + </listitem> + + <listitem> + <para> + During WAL replay, guard against corrupted record lengths exceeding + 1GB (Michael Paquier) + </para> + + <para> + Treat such a case as corrupt data. Previously, the code would try to + allocate space and get a hard error, making recovery impossible. + </para> + </listitem> + + <listitem> + <para> + When ending recovery, delay writing the timeline history file as long + as possible (Heikki Linnakangas) + </para> + + <para> + This avoids some situations where a failure during recovery cleanup + (such as a problem with a two-phase state file) led to inconsistent + timeline state on-disk. + </para> + </listitem> + + <listitem> + <para> + Improve performance of WAL replay for transactions that drop many + relations (Fujii Masao) + </para> + + <para> + This change reduces the number of times that shared buffers are + scanned, so that it is of most benefit when that setting is large. + </para> + </listitem> + + <listitem> + <para> + Improve performance of lock releasing in standby server WAL replay + (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Make logical WAL senders report streaming state correctly (Simon + Riggs, Sawada Masahiko) + </para> + + <para> + The code previously mis-detected whether or not it had caught up with + the upstream server. + </para> + </listitem> + + <listitem> + <para> + Fix bugs in snapshot handling during logical decoding, allowing wrong + decoding results in rare cases (Arseny Sher, Álvaro Herrera) + </para> + </listitem> + + <listitem> + <para> + Fix <literal>INSERT ... ON CONFLICT UPDATE</literal> through a view + that isn't just <literal>SELECT * FROM ...</literal> + (Dean Rasheed, Amit Langote) + </para> + + <para> + Erroneous expansion of an updatable view could lead to crashes + or <quote>attribute ... has the wrong type</quote> errors, if the + view's <literal>SELECT</literal> list doesn't match one-to-one with + the underlying table's columns. + </para> + </listitem> + + <listitem> + <para> + Ensure a table's cached index list is correctly rebuilt after an index + creation fails partway through (Peter Geoghegan) + </para> + + <para> + Previously, the failed index's OID could remain in the list, causing + problems later in the same session. + </para> + </listitem> + + <listitem> + <para> + Fix mishandling of empty uncompressed posting list pages in GIN + indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov) + </para> + + <para> + This could result in an assertion failure after pg_upgrade of a + pre-9.4 GIN index (9.4 and later will not create such pages). + </para> + </listitem> + + <listitem> + <para> + Ensure that <command>VACUUM</command> will respond to signals + within btree page deletion loops (Andres Freund) + </para> + + <para> + Corrupted btree indexes could result in an infinite loop here, and + that previously wasn't interruptible without forcing a crash. + </para> + </listitem> + + <listitem> + <para> + Fix misoptimization of equivalence classes involving composite-type + columns (Tom Lane) + </para> + + <para> + This resulted in failure to recognize that an index on a composite + column could provide the sort order needed for a mergejoin on that + column. + </para> + </listitem> + + <listitem> + <para> + Fix planner to avoid <quote>ORDER/GROUP BY expression not found in + targetlist</quote> errors in some queries with set-returning functions + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix SQL-standard <literal>FETCH FIRST</literal> syntax to allow + parameters (<literal>$<replaceable>n</replaceable></literal>), as the + standard expects (Andrew Gierth) + </para> + </listitem> + + <listitem> + <para> + Fix <command>EXPLAIN</command>'s accounting for resource usage, + particularly buffer accesses, in parallel workers + (Amit Kapila, Robert Haas) + </para> + </listitem> + + <listitem> + <para> + Fix failure to schema-qualify some object names + in <function>getObjectDescription</function> output + (Kyotaro Horiguchi, Tom Lane) + </para> + + <para> + Names of collations, conversions, and text search objects + were not schema-qualified when they should be. + </para> + </listitem> + + <listitem> + <para> + Fix <command>CREATE AGGREGATE</command> type checking so that + parallelism support functions can be attached to variadic aggregates + (Alexey Bashtanov) + </para> + </listitem> + + <listitem> + <para> + Widen <command>COPY FROM</command>'s current-line-number counter + from 32 to 64 bits (David Rowley) + </para> + + <para> + This avoids two problems with input exceeding 4G lines: <literal>COPY + FROM WITH HEADER</literal> would drop a line every 4G lines, not only + the first line, and error reports could show a wrong line number. + </para> + </listitem> + + <listitem> + <para> + Add a string freeing function + to <application>ecpg</application>'s <filename>pgtypes</filename> + library, so that cross-module memory management problems can be + avoided on Windows (Takayuki Tsunakawa) + </para> + + <para> + On Windows, crashes can ensue if the <function>free</function> call + for a given chunk of memory is not made from the same DLL + that <function>malloc</function>'ed the memory. + The <filename>pgtypes</filename> library sometimes returns strings + that it expects the caller to free, making it impossible to follow + this rule. Add a <function>PGTYPESchar_free()</function> function + that just wraps <function>free</function>, allowing applications + to follow this rule. + </para> + </listitem> + + <listitem> + <para> + Fix <application>ecpg</application>'s support for <type>long + long</type> variables on Windows, as well as other platforms that + declare <function>strtoll</function>/<function>strtoull</function> + nonstandardly or not at all (Dang Minh Huong, Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix misidentification of SQL statement type in PL/pgSQL, when a rule + change causes a change in the semantics of a statement intra-session + (Tom Lane) + </para> + + <para> + This error led to assertion failures, or in rare cases, failure to + enforce the <literal>INTO STRICT</literal> option as expected. + </para> + </listitem> + + <listitem> + <para> + Fix password prompting in client programs so that echo is properly + disabled on Windows when <literal>stdin</literal> is not the + terminal (Matthew Stickney) + </para> + </listitem> + + <listitem> + <para> + Further fix mis-quoting of values for list-valued GUC variables in + dumps (Tom Lane) + </para> + + <para> + The previous fix for quoting of <varname>search_path</varname> and + other list-valued variables in <application>pg_dump</application> + output turned out to misbehave for empty-string list elements, and it + risked truncation of long file paths. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</application>'s failure to + dump <literal>REPLICA IDENTITY</literal> properties for constraint + indexes (Tom Lane) + </para> + + <para> + Manually created unique indexes were properly marked, but not those + created by declaring <literal>UNIQUE</literal> or <literal>PRIMARY + KEY</literal> constraints. + </para> + </listitem> + + <listitem> + <para> + Make <application>pg_upgrade</application> check that the old server + was shut down cleanly (Bruce Momjian) + </para> + + <para> + The previous check could be fooled by an immediate-mode shutdown. + </para> + </listitem> + + <listitem> + <para> + Fix <filename>contrib/hstore_plperl</filename> to look through Perl + scalar references, and to not crash if it doesn't find a hash + reference where it expects one (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix crash in <filename>contrib/ltree</filename>'s + <function>lca()</function> function when the input array is empty + (Pierre Ducroquet) + </para> + </listitem> + + <listitem> + <para> + Fix various error-handling code paths in which an incorrect error code + might be reported (Michael Paquier, Tom Lane, Magnus Hagander) + </para> + </listitem> + + <listitem> + <para> + Rearrange makefiles to ensure that programs link to freshly-built + libraries (such as <filename>libpq.so</filename>) rather than ones + that might exist in the system library directories (Tom Lane) + </para> + + <para> + This avoids problems when building on platforms that supply old copies + of <productname>PostgreSQL</productname> libraries. + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018e for DST law changes in North Korea, plus historical + corrections for Czechoslovakia. + </para> + + <para> + This update includes a redefinition of <quote>daylight savings</quote> + in Ireland, as well as for some past years in Namibia and + Czechoslovakia. In those jurisdictions, legally standard time is + observed in summer, and daylight savings time in winter, so that the + daylight savings offset is one hour behind standard time not one hour + ahead. This does not affect either the actual UTC offset or the + timezone abbreviations in use; the only known effect is that + the <structfield>is_dst</structfield> column in + the <structname>pg_timezone_names</structname> view will now be true + in winter and false in summer in these cases. + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-6-9"> <title>Release 9.6.9</title> |