Release notes for 10.5, 9.6.10, 9.5.14, 9.4.19, 9.3.24.
This commit is contained in:
parent
a3274e0d28
commit
aa291a4cf7
@ -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
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user