diff options
-rw-r--r-- | doc/src/sgml/release-9.3.sgml | 300 | ||||
-rw-r--r-- | doc/src/sgml/release-9.4.sgml | 341 | ||||
-rw-r--r-- | doc/src/sgml/release-9.5.sgml | 393 | ||||
-rw-r--r-- | doc/src/sgml/release-9.6.sgml | 457 |
4 files changed, 1491 insertions, 0 deletions
diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml index 3c540bcc260..4f50bdf5e64 100644 --- a/doc/src/sgml/release-9.3.sgml +++ b/doc/src/sgml/release-9.3.sgml @@ -1,6 +1,306 @@ <!-- doc/src/sgml/release-9.3.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-3-21"> + <title>Release 9.3.21</title> + + <formalpara> + <title>Release date:</title> + <para>2018-02-08</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.3.20. + 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.21</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.18, + see <xref linkend="release-9-3-18"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix vacuuming of tuples that were updated while key-share locked + (Andres Freund, Álvaro Herrera) + </para> + + <para> + In some cases <command>VACUUM</command> would fail to remove such + tuples even though they are now dead, leading to assorted data + corruption scenarios. + </para> + </listitem> + + <listitem> + <para> + Fix inadequate buffer locking in some LSN fetches (Jacob Champion, + Asim Praveen, Ashwin Agrawal) + </para> + + <para> + These errors could result in misbehavior under concurrent load. + The potential consequences have not been characterized fully. + </para> + </listitem> + + <listitem> + <para> + Avoid unnecessary failure in a query on an inheritance tree that + occurs concurrently with some child table being removed from the tree + by <command>ALTER TABLE NO INHERIT</command> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Repair failure with correlated sub-<literal>SELECT</literal> + inside <literal>VALUES</literal> inside a <literal>LATERAL</literal> + subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <quote>could not devise a query plan for the given query</quote> + planner failure for some cases involving nested <literal>UNION + ALL</literal> inside a lateral subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <function>has_sequence_privilege()</function> to + support <literal>WITH GRANT OPTION</literal> tests, + as other privilege-testing functions do (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + In databases using UTF8 encoding, ignore any XML declaration that + asserts a different encoding (Pavel Stehule, Noah Misch) + </para> + + <para> + We always store XML strings in the database encoding, so allowing + libxml to act on a declaration of another encoding gave wrong results. + In encodings other than UTF8, we don't promise to support non-ASCII + XML data anyway, so retain the previous behavior for bug compatibility. + This change affects only <function>xpath()</function> and related + functions; other XML code paths already acted this way. + </para> + </listitem> + + <listitem> + <para> + Provide for forward compatibility with future minor protocol versions + (Robert Haas, Badrul Chowdhury) + </para> + + <para> + Up to now, <productname>PostgreSQL</productname> servers simply + rejected requests to use protocol versions newer than 3.0, so that + there was no functional difference between the major and minor parts + of the protocol version number. Allow clients to request versions 3.x + without failing, sending back a message showing that the server only + understands 3.0. This makes no difference at the moment, but + back-patching this change should allow speedier introduction of future + minor protocol upgrades. + </para> + </listitem> + + <listitem> + <para> + Prevent stack-overflow crashes when planning extremely deeply + nested set operations + (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>) + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix null-pointer crashes for some types of LDAP URLs appearing + in <filename>pg_hba.conf</filename> (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Fix sample <function>INSTR()</function> functions in the PL/pgSQL + documentation (Yugo Nagata, Tom Lane) + </para> + + <para> + These functions are stated to + be <trademark class="registered">Oracle</trademark> compatible, but + they weren't exactly. In particular, there was a discrepancy in the + interpretation of a negative third parameter: Oracle thinks that a + negative value indicates the last place where the target substring can + begin, whereas our functions took it as the last place where the + target can end. Also, Oracle throws an error for a zero or negative + fourth parameter, whereas our functions returned zero. + </para> + + <para> + The sample code has been adjusted to match Oracle's behavior more + precisely. Users who have copied this code into their applications + may wish to update their copies. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</application> to make ACL (permissions), + comment, and security label entries reliably identifiable in archive + output formats (Tom Lane) + </para> + + <para> + The <quote>tag</quote> portion of an ACL archive entry was usually + just the name of the associated object. Make it start with the object + type instead, bringing ACLs into line with the convention already used + for comment and security label archive entries. Also, fix the + comment and security label entries for the whole database, if present, + to make their tags start with <literal>DATABASE</literal> so that they + also follow this convention. This prevents false matches in code that + tries to identify large-object-related entries by seeing if the tag + starts with <literal>LARGE OBJECT</literal>. That could have resulted + in misclassifying entries as data rather than schema, with undesirable + results in a schema-only or data-only dump. + </para> + + <para> + Note that this change has user-visible results in the output + of <command>pg_restore --list</command>. + </para> + </listitem> + + <listitem> + <para> + In <application>ecpg</application>, detect indicator arrays that do + not have the correct length and report an error (David Rader) + </para> + </listitem> + + <listitem> + <para> + Avoid triggering a libc assertion + in <filename>contrib/hstore</filename>, due to use + of <function>memcpy()</function> with equal source and destination + pointers (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Provide modern examples of how to auto-start Postgres on macOS + (Tom Lane) + </para> + + <para> + The scripts in <filename>contrib/start-scripts/osx</filename> use + infrastructure that's been deprecated for over a decade, and which no + longer works at all in macOS releases of the last couple of years. + Add a new subdirectory <filename>contrib/start-scripts/macos</filename> + containing scripts that use the newer <application>launchd</application> + infrastructure. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect selection of configuration-specific libraries for + OpenSSL on Windows (Andrew Dunstan) + </para> + </listitem> + + <listitem> + <para> + Support linking to MinGW-built versions of libperl (Noah Misch) + </para> + + <para> + This allows building PL/Perl with some common Perl distributions for + Windows. + </para> + </listitem> + + <listitem> + <para> + Fix MSVC build to test whether 32-bit libperl + needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch) + </para> + + <para> + Available Perl distributions are inconsistent about what they expect, + and lack any reliable means of reporting it, so resort to a build-time + test on what the library being used actually does. + </para> + </listitem> + + <listitem> + <para> + On Windows, install the crash dump handler earlier in postmaster + startup (Takayuki Tsunakawa) + </para> + + <para> + This may allow collection of a core dump for some early-startup + failures that did not produce a dump before. + </para> + </listitem> + + <listitem> + <para> + On Windows, avoid encoding-conversion-related crashes when emitting + messages very early in postmaster startup (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Use our existing Motorola 68K spinlock code on OpenBSD as + well as NetBSD (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Add support for spinlocks on Motorola 88K (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018c for DST law changes in Brazil, Sao Tome and Principe, + plus historical corrections for Bolivia, Japan, and South Sudan. + The <literal>US/Pacific-New</literal> zone has been removed (it was + only an alias for <literal>America/Los_Angeles</literal> anyway). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-3-20"> <title>Release 9.3.20</title> diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index 4ecf90d6912..329e5ec0e68 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -1,6 +1,347 @@ <!-- doc/src/sgml/release-9.4.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-4-16"> + <title>Release 9.4.16</title> + + <formalpara> + <title>Release date:</title> + <para>2018-02-08</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.4.15. + 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.16</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.13, + see <xref linkend="release-9-4-13"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix vacuuming of tuples that were updated while key-share locked + (Andres Freund, Álvaro Herrera) + </para> + + <para> + In some cases <command>VACUUM</command> would fail to remove such + tuples even though they are now dead, leading to assorted data + corruption scenarios. + </para> + </listitem> + + <listitem> + <para> + Fix inadequate buffer locking in some LSN fetches (Jacob Champion, + Asim Praveen, Ashwin Agrawal) + </para> + + <para> + These errors could result in misbehavior under concurrent load. + The potential consequences have not been characterized fully. + </para> + </listitem> + + <listitem> + <para> + Avoid unnecessary failure in a query on an inheritance tree that + occurs concurrently with some child table being removed from the tree + by <command>ALTER TABLE NO INHERIT</command> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix spurious deadlock failures when multiple sessions are + running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes) + </para> + </listitem> + + <listitem> + <para> + Repair failure with correlated sub-<literal>SELECT</literal> + inside <literal>VALUES</literal> inside a <literal>LATERAL</literal> + subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <quote>could not devise a query plan for the given query</quote> + planner failure for some cases involving nested <literal>UNION + ALL</literal> inside a lateral subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix logical decoding to correctly clean up disk files for crashed + transactions (Atsushi Torikoshi) + </para> + + <para> + Logical decoding may spill WAL records to disk for transactions + generating many WAL records. Normally these files are cleaned up + after the transaction's commit or abort record arrives; but if + no such record is ever seen, the removal code misbehaved. + </para> + </listitem> + + <listitem> + <para> + Fix walsender timeout failure and failure to respond to interrupts + when processing a large transaction (Petr Jelinek) + </para> + </listitem> + + <listitem> + <para> + Fix <function>has_sequence_privilege()</function> to + support <literal>WITH GRANT OPTION</literal> tests, + as other privilege-testing functions do (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + In databases using UTF8 encoding, ignore any XML declaration that + asserts a different encoding (Pavel Stehule, Noah Misch) + </para> + + <para> + We always store XML strings in the database encoding, so allowing + libxml to act on a declaration of another encoding gave wrong results. + In encodings other than UTF8, we don't promise to support non-ASCII + XML data anyway, so retain the previous behavior for bug compatibility. + This change affects only <function>xpath()</function> and related + functions; other XML code paths already acted this way. + </para> + </listitem> + + <listitem> + <para> + Provide for forward compatibility with future minor protocol versions + (Robert Haas, Badrul Chowdhury) + </para> + + <para> + Up to now, <productname>PostgreSQL</productname> servers simply + rejected requests to use protocol versions newer than 3.0, so that + there was no functional difference between the major and minor parts + of the protocol version number. Allow clients to request versions 3.x + without failing, sending back a message showing that the server only + understands 3.0. This makes no difference at the moment, but + back-patching this change should allow speedier introduction of future + minor protocol upgrades. + </para> + </listitem> + + <listitem> + <para> + Cope with failure to start a parallel worker process + (Amit Kapila, Robert Haas) + </para> + + <para> + Parallel query previously tended to hang indefinitely if a worker + could not be started, as the result of <literal>fork()</literal> + failure or other low-probability problems. + </para> + </listitem> + + <listitem> + <para> + Prevent stack-overflow crashes when planning extremely deeply + nested set operations + (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>) + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix null-pointer crashes for some types of LDAP URLs appearing + in <filename>pg_hba.conf</filename> (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Fix sample <function>INSTR()</function> functions in the PL/pgSQL + documentation (Yugo Nagata, Tom Lane) + </para> + + <para> + These functions are stated to + be <trademark class="registered">Oracle</trademark> compatible, but + they weren't exactly. In particular, there was a discrepancy in the + interpretation of a negative third parameter: Oracle thinks that a + negative value indicates the last place where the target substring can + begin, whereas our functions took it as the last place where the + target can end. Also, Oracle throws an error for a zero or negative + fourth parameter, whereas our functions returned zero. + </para> + + <para> + The sample code has been adjusted to match Oracle's behavior more + precisely. Users who have copied this code into their applications + may wish to update their copies. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</application> to make ACL (permissions), + comment, and security label entries reliably identifiable in archive + output formats (Tom Lane) + </para> + + <para> + The <quote>tag</quote> portion of an ACL archive entry was usually + just the name of the associated object. Make it start with the object + type instead, bringing ACLs into line with the convention already used + for comment and security label archive entries. Also, fix the + comment and security label entries for the whole database, if present, + to make their tags start with <literal>DATABASE</literal> so that they + also follow this convention. This prevents false matches in code that + tries to identify large-object-related entries by seeing if the tag + starts with <literal>LARGE OBJECT</literal>. That could have resulted + in misclassifying entries as data rather than schema, with undesirable + results in a schema-only or data-only dump. + </para> + + <para> + Note that this change has user-visible results in the output + of <command>pg_restore --list</command>. + </para> + </listitem> + + <listitem> + <para> + In <application>ecpg</application>, detect indicator arrays that do + not have the correct length and report an error (David Rader) + </para> + </listitem> + + <listitem> + <para> + Avoid triggering a libc assertion + in <filename>contrib/hstore</filename>, due to use + of <function>memcpy()</function> with equal source and destination + pointers (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Provide modern examples of how to auto-start Postgres on macOS + (Tom Lane) + </para> + + <para> + The scripts in <filename>contrib/start-scripts/osx</filename> use + infrastructure that's been deprecated for over a decade, and which no + longer works at all in macOS releases of the last couple of years. + Add a new subdirectory <filename>contrib/start-scripts/macos</filename> + containing scripts that use the newer <application>launchd</application> + infrastructure. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect selection of configuration-specific libraries for + OpenSSL on Windows (Andrew Dunstan) + </para> + </listitem> + + <listitem> + <para> + Support linking to MinGW-built versions of libperl (Noah Misch) + </para> + + <para> + This allows building PL/Perl with some common Perl distributions for + Windows. + </para> + </listitem> + + <listitem> + <para> + Fix MSVC build to test whether 32-bit libperl + needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch) + </para> + + <para> + Available Perl distributions are inconsistent about what they expect, + and lack any reliable means of reporting it, so resort to a build-time + test on what the library being used actually does. + </para> + </listitem> + + <listitem> + <para> + On Windows, install the crash dump handler earlier in postmaster + startup (Takayuki Tsunakawa) + </para> + + <para> + This may allow collection of a core dump for some early-startup + failures that did not produce a dump before. + </para> + </listitem> + + <listitem> + <para> + On Windows, avoid encoding-conversion-related crashes when emitting + messages very early in postmaster startup (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Use our existing Motorola 68K spinlock code on OpenBSD as + well as NetBSD (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Add support for spinlocks on Motorola 88K (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018c for DST law changes in Brazil, Sao Tome and Principe, + plus historical corrections for Bolivia, Japan, and South Sudan. + The <literal>US/Pacific-New</literal> zone has been removed (it was + only an alias for <literal>America/Los_Angeles</literal> anyway). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-4-15"> <title>Release 9.4.15</title> diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index d79d953d516..9d18de4be98 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -1,6 +1,399 @@ <!-- doc/src/sgml/release-9.5.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-5-11"> + <title>Release 9.5.11</title> + + <formalpara> + <title>Release date:</title> + <para>2018-02-08</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.5.10. + 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.11</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.10, + see <xref linkend="release-9-5-10"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix vacuuming of tuples that were updated while key-share locked + (Andres Freund, Álvaro Herrera) + </para> + + <para> + In some cases <command>VACUUM</command> would fail to remove such + tuples even though they are now dead, leading to assorted data + corruption scenarios. + </para> + </listitem> + + <listitem> + <para> + Fix inadequate buffer locking in some LSN fetches (Jacob Champion, + Asim Praveen, Ashwin Agrawal) + </para> + + <para> + These errors could result in misbehavior under concurrent load. + The potential consequences have not been characterized fully. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect query results from cases involving flattening of + subqueries whose outputs are used in <literal>GROUPING SETS</literal> + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Avoid unnecessary failure in a query on an inheritance tree that + occurs concurrently with some child table being removed from the tree + by <command>ALTER TABLE NO INHERIT</command> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix spurious deadlock failures when multiple sessions are + running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes) + </para> + </listitem> + + <listitem> + <para> + Fix failures when an inheritance tree contains foreign child tables + (Etsuro Fujita) + </para> + + <para> + A mix of regular and foreign tables in an inheritance tree resulted in + creation of incorrect plans for <command>UPDATE</command> + and <command>DELETE</command> queries. This led to visible failures in + some cases, notably when there are row-level triggers on a foreign + child table. + </para> + </listitem> + + <listitem> + <para> + Repair failure with correlated sub-<literal>SELECT</literal> + inside <literal>VALUES</literal> inside a <literal>LATERAL</literal> + subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <quote>could not devise a query plan for the given query</quote> + planner failure for some cases involving nested <literal>UNION + ALL</literal> inside a lateral subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix logical decoding to correctly clean up disk files for crashed + transactions (Atsushi Torikoshi) + </para> + + <para> + Logical decoding may spill WAL records to disk for transactions + generating many WAL records. Normally these files are cleaned up + after the transaction's commit or abort record arrives; but if + no such record is ever seen, the removal code misbehaved. + </para> + </listitem> + + <listitem> + <para> + Fix walsender timeout failure and failure to respond to interrupts + when processing a large transaction (Petr Jelinek) + </para> + </listitem> + + <listitem> + <para> + Fix <function>has_sequence_privilege()</function> to + support <literal>WITH GRANT OPTION</literal> tests, + as other privilege-testing functions do (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + In databases using UTF8 encoding, ignore any XML declaration that + asserts a different encoding (Pavel Stehule, Noah Misch) + </para> + + <para> + We always store XML strings in the database encoding, so allowing + libxml to act on a declaration of another encoding gave wrong results. + In encodings other than UTF8, we don't promise to support non-ASCII + XML data anyway, so retain the previous behavior for bug compatibility. + This change affects only <function>xpath()</function> and related + functions; other XML code paths already acted this way. + </para> + </listitem> + + <listitem> + <para> + Provide for forward compatibility with future minor protocol versions + (Robert Haas, Badrul Chowdhury) + </para> + + <para> + Up to now, <productname>PostgreSQL</productname> servers simply + rejected requests to use protocol versions newer than 3.0, so that + there was no functional difference between the major and minor parts + of the protocol version number. Allow clients to request versions 3.x + without failing, sending back a message showing that the server only + understands 3.0. This makes no difference at the moment, but + back-patching this change should allow speedier introduction of future + minor protocol upgrades. + </para> + </listitem> + + <listitem> + <para> + Cope with failure to start a parallel worker process + (Amit Kapila, Robert Haas) + </para> + + <para> + Parallel query previously tended to hang indefinitely if a worker + could not be started, as the result of <literal>fork()</literal> + failure or other low-probability problems. + </para> + </listitem> + + <listitem> + <para> + Avoid unsafe alignment assumptions when working + with <type>__int128</type> (Tom Lane) + </para> + + <para> + Typically, compilers assume that <type>__int128</type> variables are + aligned on 16-byte boundaries, but our memory allocation + infrastructure isn't prepared to guarantee that, and increasing the + setting of MAXALIGN seems infeasible for multiple reasons. Adjust the + code to allow use of <type>__int128</type> only when we can tell the + compiler to assume lesser alignment. The only known symptom of this + problem so far is crashes in some parallel aggregation queries. + </para> + </listitem> + + <listitem> + <para> + Prevent stack-overflow crashes when planning extremely deeply + nested set operations + (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>) + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix null-pointer crashes for some types of LDAP URLs appearing + in <filename>pg_hba.conf</filename> (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Fix sample <function>INSTR()</function> functions in the PL/pgSQL + documentation (Yugo Nagata, Tom Lane) + </para> + + <para> + These functions are stated to + be <trademark class="registered">Oracle</trademark> compatible, but + they weren't exactly. In particular, there was a discrepancy in the + interpretation of a negative third parameter: Oracle thinks that a + negative value indicates the last place where the target substring can + begin, whereas our functions took it as the last place where the + target can end. Also, Oracle throws an error for a zero or negative + fourth parameter, whereas our functions returned zero. + </para> + + <para> + The sample code has been adjusted to match Oracle's behavior more + precisely. Users who have copied this code into their applications + may wish to update their copies. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</application> to make ACL (permissions), + comment, and security label entries reliably identifiable in archive + output formats (Tom Lane) + </para> + + <para> + The <quote>tag</quote> portion of an ACL archive entry was usually + just the name of the associated object. Make it start with the object + type instead, bringing ACLs into line with the convention already used + for comment and security label archive entries. Also, fix the + comment and security label entries for the whole database, if present, + to make their tags start with <literal>DATABASE</literal> so that they + also follow this convention. This prevents false matches in code that + tries to identify large-object-related entries by seeing if the tag + starts with <literal>LARGE OBJECT</literal>. That could have resulted + in misclassifying entries as data rather than schema, with undesirable + results in a schema-only or data-only dump. + </para> + + <para> + Note that this change has user-visible results in the output + of <command>pg_restore --list</command>. + </para> + </listitem> + + <listitem> + <para> + Rename <application>pg_rewind</application>'s + <function>copy_file_range</function> function to avoid conflict + with new Linux system call of that name (Andres Freund) + </para> + + <para> + This change prevents build failures with newer glibc versions. + </para> + </listitem> + + <listitem> + <para> + In <application>ecpg</application>, detect indicator arrays that do + not have the correct length and report an error (David Rader) + </para> + </listitem> + + <listitem> + <para> + Avoid triggering a libc assertion + in <filename>contrib/hstore</filename>, due to use + of <function>memcpy()</function> with equal source and destination + pointers (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Provide modern examples of how to auto-start Postgres on macOS + (Tom Lane) + </para> + + <para> + The scripts in <filename>contrib/start-scripts/osx</filename> use + infrastructure that's been deprecated for over a decade, and which no + longer works at all in macOS releases of the last couple of years. + Add a new subdirectory <filename>contrib/start-scripts/macos</filename> + containing scripts that use the newer <application>launchd</application> + infrastructure. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect selection of configuration-specific libraries for + OpenSSL on Windows (Andrew Dunstan) + </para> + </listitem> + + <listitem> + <para> + Support linking to MinGW-built versions of libperl (Noah Misch) + </para> + + <para> + This allows building PL/Perl with some common Perl distributions for + Windows. + </para> + </listitem> + + <listitem> + <para> + Fix MSVC build to test whether 32-bit libperl + needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch) + </para> + + <para> + Available Perl distributions are inconsistent about what they expect, + and lack any reliable means of reporting it, so resort to a build-time + test on what the library being used actually does. + </para> + </listitem> + + <listitem> + <para> + On Windows, install the crash dump handler earlier in postmaster + startup (Takayuki Tsunakawa) + </para> + + <para> + This may allow collection of a core dump for some early-startup + failures that did not produce a dump before. + </para> + </listitem> + + <listitem> + <para> + On Windows, avoid encoding-conversion-related crashes when emitting + messages very early in postmaster startup (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Use our existing Motorola 68K spinlock code on OpenBSD as + well as NetBSD (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Add support for spinlocks on Motorola 88K (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018c for DST law changes in Brazil, Sao Tome and Principe, + plus historical corrections for Bolivia, Japan, and South Sudan. + The <literal>US/Pacific-New</literal> zone has been removed (it was + only an alias for <literal>America/Los_Angeles</literal> anyway). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-5-10"> <title>Release 9.5.10</title> diff --git a/doc/src/sgml/release-9.6.sgml b/doc/src/sgml/release-9.6.sgml index ce040f1a5ad..26025712bed 100644 --- a/doc/src/sgml/release-9.6.sgml +++ b/doc/src/sgml/release-9.6.sgml @@ -1,6 +1,463 @@ <!-- doc/src/sgml/release-9.6.sgml --> <!-- See header comment in release.sgml about typical markup --> + <sect1 id="release-9-6-7"> + <title>Release 9.6.7</title> + + <formalpara> + <title>Release date:</title> + <para>2018-02-08</para> + </formalpara> + + <para> + This release contains a variety of fixes from 9.6.6. + 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.7</title> + + <para> + A dump/restore is not required for those running 9.6.X. + </para> + + <para> + However, + if you use <filename>contrib/cube</filename>'s <literal>~></literal> + operator, see the entry below about that. + </para> + + <para> + Also, if you are upgrading from a version earlier than 9.6.6, + see <xref linkend="release-9-6-6"/>. + </para> + </sect2> + + <sect2> + <title>Changes</title> + + <itemizedlist> + + <listitem> + <para> + Fix vacuuming of tuples that were updated while key-share locked + (Andres Freund, Álvaro Herrera) + </para> + + <para> + In some cases <command>VACUUM</command> would fail to remove such + tuples even though they are now dead, leading to assorted data + corruption scenarios. + </para> + </listitem> + + <listitem> + <para> + Ensure that vacuum will always clean up the pending-insertions list of + a GIN index (Masahiko Sawada) + </para> + + <para> + This is necessary to ensure that dead index entries get removed. + The old code got it backwards, allowing vacuum to skip the cleanup if + some other process were running cleanup concurrently, thus risking + invalid entries being left behind in the index. + </para> + </listitem> + + <listitem> + <para> + Fix inadequate buffer locking in some LSN fetches (Jacob Champion, + Asim Praveen, Ashwin Agrawal) + </para> + + <para> + These errors could result in misbehavior under concurrent load. + The potential consequences have not been characterized fully. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect query results from cases involving flattening of + subqueries whose outputs are used in <literal>GROUPING SETS</literal> + (Heikki Linnakangas) + </para> + </listitem> + + <listitem> + <para> + Avoid unnecessary failure in a query on an inheritance tree that + occurs concurrently with some child table being removed from the tree + by <command>ALTER TABLE NO INHERIT</command> (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix spurious deadlock failures when multiple sessions are + running <command>CREATE INDEX CONCURRENTLY</command> (Jeff Janes) + </para> + </listitem> + + <listitem> + <para> + Fix failures when an inheritance tree contains foreign child tables + (Etsuro Fujita) + </para> + + <para> + A mix of regular and foreign tables in an inheritance tree resulted in + creation of incorrect plans for <command>UPDATE</command> + and <command>DELETE</command> queries. This led to visible failures in + some cases, notably when there are row-level triggers on a foreign + child table. + </para> + </listitem> + + <listitem> + <para> + Repair failure with correlated sub-<literal>SELECT</literal> + inside <literal>VALUES</literal> inside a <literal>LATERAL</literal> + subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix <quote>could not devise a query plan for the given query</quote> + planner failure for some cases involving nested <literal>UNION + ALL</literal> inside a lateral subquery (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix logical decoding to correctly clean up disk files for crashed + transactions (Atsushi Torikoshi) + </para> + + <para> + Logical decoding may spill WAL records to disk for transactions + generating many WAL records. Normally these files are cleaned up + after the transaction's commit or abort record arrives; but if + no such record is ever seen, the removal code misbehaved. + </para> + </listitem> + + <listitem> + <para> + Fix walsender timeout failure and failure to respond to interrupts + when processing a large transaction (Petr Jelinek) + </para> + </listitem> + + <listitem> + <para> + Fix <function>has_sequence_privilege()</function> to + support <literal>WITH GRANT OPTION</literal> tests, + as other privilege-testing functions do (Joe Conway) + </para> + </listitem> + + <listitem> + <para> + In databases using UTF8 encoding, ignore any XML declaration that + asserts a different encoding (Pavel Stehule, Noah Misch) + </para> + + <para> + We always store XML strings in the database encoding, so allowing + libxml to act on a declaration of another encoding gave wrong results. + In encodings other than UTF8, we don't promise to support non-ASCII + XML data anyway, so retain the previous behavior for bug compatibility. + This change affects only <function>xpath()</function> and related + functions; other XML code paths already acted this way. + </para> + </listitem> + + <listitem> + <para> + Provide for forward compatibility with future minor protocol versions + (Robert Haas, Badrul Chowdhury) + </para> + + <para> + Up to now, <productname>PostgreSQL</productname> servers simply + rejected requests to use protocol versions newer than 3.0, so that + there was no functional difference between the major and minor parts + of the protocol version number. Allow clients to request versions 3.x + without failing, sending back a message showing that the server only + understands 3.0. This makes no difference at the moment, but + back-patching this change should allow speedier introduction of future + minor protocol upgrades. + </para> + </listitem> + + <listitem> + <para> + Cope with failure to start a parallel worker process + (Amit Kapila, Robert Haas) + </para> + + <para> + Parallel query previously tended to hang indefinitely if a worker + could not be started, as the result of <literal>fork()</literal> + failure or other low-probability problems. + </para> + </listitem> + + <listitem> + <para> + Fix collection of <command>EXPLAIN</command> statistics from parallel + workers (Amit Kapila, Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Avoid unsafe alignment assumptions when working + with <type>__int128</type> (Tom Lane) + </para> + + <para> + Typically, compilers assume that <type>__int128</type> variables are + aligned on 16-byte boundaries, but our memory allocation + infrastructure isn't prepared to guarantee that, and increasing the + setting of MAXALIGN seems infeasible for multiple reasons. Adjust the + code to allow use of <type>__int128</type> only when we can tell the + compiler to assume lesser alignment. The only known symptom of this + problem so far is crashes in some parallel aggregation queries. + </para> + </listitem> + + <listitem> + <para> + Prevent stack-overflow crashes when planning extremely deeply + nested set operations + (<literal>UNION</literal>/<literal>INTERSECT</literal>/<literal>EXCEPT</literal>) + (Tom Lane) + </para> + </listitem> + + <listitem> + <para> + Fix null-pointer crashes for some types of LDAP URLs appearing + in <filename>pg_hba.conf</filename> (Thomas Munro) + </para> + </listitem> + + <listitem> + <para> + Fix sample <function>INSTR()</function> functions in the PL/pgSQL + documentation (Yugo Nagata, Tom Lane) + </para> + + <para> + These functions are stated to + be <trademark class="registered">Oracle</trademark> compatible, but + they weren't exactly. In particular, there was a discrepancy in the + interpretation of a negative third parameter: Oracle thinks that a + negative value indicates the last place where the target substring can + begin, whereas our functions took it as the last place where the + target can end. Also, Oracle throws an error for a zero or negative + fourth parameter, whereas our functions returned zero. + </para> + + <para> + The sample code has been adjusted to match Oracle's behavior more + precisely. Users who have copied this code into their applications + may wish to update their copies. + </para> + </listitem> + + <listitem> + <para> + Fix <application>pg_dump</application> to make ACL (permissions), + comment, and security label entries reliably identifiable in archive + output formats (Tom Lane) + </para> + + <para> + The <quote>tag</quote> portion of an ACL archive entry was usually + just the name of the associated object. Make it start with the object + type instead, bringing ACLs into line with the convention already used + for comment and security label archive entries. Also, fix the + comment and security label entries for the whole database, if present, + to make their tags start with <literal>DATABASE</literal> so that they + also follow this convention. This prevents false matches in code that + tries to identify large-object-related entries by seeing if the tag + starts with <literal>LARGE OBJECT</literal>. That could have resulted + in misclassifying entries as data rather than schema, with undesirable + results in a schema-only or data-only dump. + </para> + + <para> + Note that this change has user-visible results in the output + of <command>pg_restore --list</command>. + </para> + </listitem> + + <listitem> + <para> + Rename <application>pg_rewind</application>'s + <function>copy_file_range</function> function to avoid conflict + with new Linux system call of that name (Andres Freund) + </para> + + <para> + This change prevents build failures with newer glibc versions. + </para> + </listitem> + + <listitem> + <para> + In <application>ecpg</application>, detect indicator arrays that do + not have the correct length and report an error (David Rader) + </para> + </listitem> + + <listitem> + <para> + Change the behavior of <filename>contrib/cube</filename>'s + <type>cube</type> <literal>~></literal> <type>int</type> + operator to make it compatible with KNN search (Alexander Korotkov) + </para> + + <para> + The meaning of the second argument (the dimension selector) has been + changed to make it predictable which value is selected even when + dealing with cubes of varying dimensionalities. + </para> + + <para> + This is an incompatible change, but since the point of the operator + was to be used in KNN searches, it seems rather useless as-is. + After installing this update, any expression indexes or materialized + views using this operator will need to be reindexed/refreshed. + </para> + </listitem> + + <listitem> + <para> + Avoid triggering a libc assertion + in <filename>contrib/hstore</filename>, due to use + of <function>memcpy()</function> with equal source and destination + pointers (Tomas Vondra) + </para> + </listitem> + + <listitem> + <para> + Fix incorrect display of tuples' null bitmaps + in <filename>contrib/pageinspect</filename> (Maksim Milyutin) + </para> + </listitem> + + <listitem> + <para> + In <filename>contrib/postgres_fdw</filename>, avoid + <quote>outer pathkeys do not match mergeclauses</quote> + planner error when constructing a plan involving a remote join + (Robert Haas) + </para> + </listitem> + + <listitem> + <para> + Provide modern examples of how to auto-start Postgres on macOS + (Tom Lane) + </para> + + <para> + The scripts in <filename>contrib/start-scripts/osx</filename> use + infrastructure that's been deprecated for over a decade, and which no + longer works at all in macOS releases of the last couple of years. + Add a new subdirectory <filename>contrib/start-scripts/macos</filename> + containing scripts that use the newer <application>launchd</application> + infrastructure. + </para> + </listitem> + + <listitem> + <para> + Fix incorrect selection of configuration-specific libraries for + OpenSSL on Windows (Andrew Dunstan) + </para> + </listitem> + + <listitem> + <para> + Support linking to MinGW-built versions of libperl (Noah Misch) + </para> + + <para> + This allows building PL/Perl with some common Perl distributions for + Windows. + </para> + </listitem> + + <listitem> + <para> + Fix MSVC build to test whether 32-bit libperl + needs <literal>-D_USE_32BIT_TIME_T</literal> (Noah Misch) + </para> + + <para> + Available Perl distributions are inconsistent about what they expect, + and lack any reliable means of reporting it, so resort to a build-time + test on what the library being used actually does. + </para> + </listitem> + + <listitem> + <para> + On Windows, install the crash dump handler earlier in postmaster + startup (Takayuki Tsunakawa) + </para> + + <para> + This may allow collection of a core dump for some early-startup + failures that did not produce a dump before. + </para> + </listitem> + + <listitem> + <para> + On Windows, avoid encoding-conversion-related crashes when emitting + messages very early in postmaster startup (Takayuki Tsunakawa) + </para> + </listitem> + + <listitem> + <para> + Use our existing Motorola 68K spinlock code on OpenBSD as + well as NetBSD (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Add support for spinlocks on Motorola 88K (David Carlier) + </para> + </listitem> + + <listitem> + <para> + Update time zone data files to <application>tzdata</application> + release 2018c for DST law changes in Brazil, Sao Tome and Principe, + plus historical corrections for Bolivia, Japan, and South Sudan. + The <literal>US/Pacific-New</literal> zone has been removed (it was + only an alias for <literal>America/Los_Angeles</literal> anyway). + </para> + </listitem> + + </itemizedlist> + + </sect2> + </sect1> + <sect1 id="release-9-6-6"> <title>Release 9.6.6</title> |