mirror of
https://github.com/postgres/postgres.git
synced 2025-06-06 00:02:36 -04:00
Release notes for 9.6.4, 9.5.8, 9.4.13, 9.3.18, 9.2.22.
This commit is contained in:
parent
5af4456a56
commit
b35006eccc
@ -1,6 +1,347 @@
|
|||||||
<!-- doc/src/sgml/release-9.2.sgml -->
|
<!-- doc/src/sgml/release-9.2.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-2-22">
|
||||||
|
<title>Release 9.2.22</title>
|
||||||
|
|
||||||
|
<formalpara>
|
||||||
|
<title>Release date:</title>
|
||||||
|
<para>2017-08-10</para>
|
||||||
|
</formalpara>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.2.21.
|
||||||
|
For information about new features in the 9.2 major release, see
|
||||||
|
<xref linkend="release-9-2">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The <productname>PostgreSQL</> community will stop releasing updates
|
||||||
|
for the 9.2.X release series in September 2017.
|
||||||
|
Users are encouraged to update to a newer release branch soon.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Migration to Version 9.2.22</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A dump/restore is not required for those running 9.2.X.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
However, if you are upgrading from a version earlier than 9.2.20,
|
||||||
|
see <xref linkend="release-9-2-20">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On Windows, retry process creation if we fail to reserve the address
|
||||||
|
range for our shared memory in the new process (Tom Lane, Amit
|
||||||
|
Kapila)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to fix infrequent child-process-launch failures that
|
||||||
|
are probably due to interference from antivirus products.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-probability corruption of shared predicate-lock hash table
|
||||||
|
in Windows builds (Thomas Munro, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid logging clean closure of an SSL connection as though
|
||||||
|
it were a connection reset (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent sending SSL session tickets to clients (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fix prevents reconnection failures with ticket-aware client-side
|
||||||
|
SSL code.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix code for setting <xref linkend="guc-tcp-keepalives-idle"> on
|
||||||
|
Solaris (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix statistics collector to honor inquiry messages issued just after
|
||||||
|
a postmaster shutdown and immediate restart (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Statistics inquiries issued within half a second of the previous
|
||||||
|
postmaster shutdown were effectively ignored.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that the statistics collector's receive buffer size is at
|
||||||
|
least 100KB (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This reduces the risk of dropped statistics data on older platforms
|
||||||
|
whose default receive buffer size is less than that.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible creation of an invalid WAL segment when a standby is
|
||||||
|
promoted just after it processes an <literal>XLOG_SWITCH</> WAL
|
||||||
|
record (Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <systemitem>SIGHUP</> and <systemitem>SIGUSR1</> handling in
|
||||||
|
walsender processes (Petr Jelinek, Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessarily slow restarts of <application>walreceiver</>
|
||||||
|
processes due to race condition in postmaster (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix cases where an <command>INSERT</> or <command>UPDATE</> assigns
|
||||||
|
to more than one element of a column that is of domain-over-array
|
||||||
|
type (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Move autogenerated array types out of the way during
|
||||||
|
<command>ALTER ... RENAME</> (Vik Fearing)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Previously, we would rename a conflicting autogenerated array type
|
||||||
|
out of the way during <command>CREATE</>; this fix extends that
|
||||||
|
behavior to renaming operations.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that <command>ALTER USER ... SET</> accepts all the syntax
|
||||||
|
variants that <command>ALTER ROLE ... SET</> does (Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Properly update dependency info when changing a datatype I/O
|
||||||
|
function's argument or return type from <type>opaque</> to the
|
||||||
|
correct type (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>CREATE TYPE</> updates I/O functions declared in this
|
||||||
|
long-obsolete style, but it forgot to record a dependency on the
|
||||||
|
type, allowing a subsequent <command>DROP TYPE</> to leave broken
|
||||||
|
function definitions behind.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce memory usage when <command>ANALYZE</> processes
|
||||||
|
a <type>tsvector</> column (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessary precision loss and sloppy rounding when multiplying
|
||||||
|
or dividing <type>money</> values by integers or floats (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Tighten checks for whitespace in functions that parse identifiers,
|
||||||
|
such as <function>regprocedurein()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Depending on the prevailing locale, these functions could
|
||||||
|
misinterpret fragments of multibyte characters as whitespace.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use relevant <literal>#define</> symbols from Perl while
|
||||||
|
compiling <application>PL/Perl</> (Ashutosh Sharma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids portability problems, typically manifesting as
|
||||||
|
a <quote>handshake</> mismatch during library load, when working with
|
||||||
|
recent Perl versions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>psql</>, fix failure when <command>COPY FROM STDIN</>
|
||||||
|
is ended with a keyboard EOF signal and then another <command>COPY
|
||||||
|
FROM STDIN</> is attempted (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This misbehavior was observed on BSD-derived platforms (including
|
||||||
|
macOS), but not on most others.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to not emit invalid SQL for an empty
|
||||||
|
operator class (Daniel Gustafsson)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> output to stdout on Windows (Kuntal Ghosh)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A compressed plain-text dump written to stdout would contain corrupt
|
||||||
|
data due to failure to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <function>pg_get_ruledef()</> to print correct output for
|
||||||
|
the <literal>ON SELECT</> rule of a view whose columns have been
|
||||||
|
renamed (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In some corner cases, <application>pg_dump</> relies
|
||||||
|
on <function>pg_get_ruledef()</> to dump views, so that this error
|
||||||
|
could result in dump/reload failures.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of function expressions in the <literal>FROM</> clause in
|
||||||
|
cases where the expression does not deparse into something that looks
|
||||||
|
like a function call (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_basebackup</> output to stdout on Windows
|
||||||
|
(Haribabu Kommi)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A backup written to stdout would contain corrupt data due to failure
|
||||||
|
to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to ensure that the ending WAL record
|
||||||
|
does not have <xref linkend="guc-wal-level"> = <literal>minimum</>
|
||||||
|
(Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This condition could prevent upgraded standby servers from
|
||||||
|
reconnecting.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Always use <option>-fPIC</>, not <option>-fpic</>, when building
|
||||||
|
shared libraries with gcc (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This supports larger extension libraries on platforms where it makes
|
||||||
|
a difference.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unescaped-braces issue in our build scripts for Microsoft MSVC,
|
||||||
|
to avoid a warning or error from recent Perl versions (Andrew
|
||||||
|
Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, handle the case where the <application>openssl</>
|
||||||
|
library is not within a <filename>VC</> subdirectory (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, add proper include path for <application>libxml2</>
|
||||||
|
header files (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fixes a former need to move things around in standard Windows
|
||||||
|
installations of <application>libxml2</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, recognize a Tcl library that is
|
||||||
|
named <filename>tcl86.lib</> (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-2-21">
|
<sect1 id="release-9-2-21">
|
||||||
<title>Release 9.2.21</title>
|
<title>Release 9.2.21</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,440 @@
|
|||||||
<!-- doc/src/sgml/release-9.3.sgml -->
|
<!-- doc/src/sgml/release-9.3.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-3-18">
|
||||||
|
<title>Release 9.3.18</title>
|
||||||
|
|
||||||
|
<formalpara>
|
||||||
|
<title>Release date:</title>
|
||||||
|
<para>2017-08-10</para>
|
||||||
|
</formalpara>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.3.17.
|
||||||
|
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.18</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.16,
|
||||||
|
see <xref linkend="release-9-3-16">.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix concurrent locking of tuple update chains (Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If several sessions concurrently lock a tuple update chain with
|
||||||
|
nonconflicting lock modes using an old snapshot, and they all
|
||||||
|
succeed, it was possible for some of them to nonetheless fail (and
|
||||||
|
conclude there is no live tuple version) due to a race condition.
|
||||||
|
This had consequences such as foreign-key checks failing to see a
|
||||||
|
tuple that definitely exists but is being updated concurrently.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential data corruption when freezing a tuple whose XMAX is a
|
||||||
|
multixact with exactly one still-interesting member (Teodor Sigaev)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On Windows, retry process creation if we fail to reserve the address
|
||||||
|
range for our shared memory in the new process (Tom Lane, Amit
|
||||||
|
Kapila)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to fix infrequent child-process-launch failures that
|
||||||
|
are probably due to interference from antivirus products.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-probability corruption of shared predicate-lock hash table
|
||||||
|
in Windows builds (Thomas Munro, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid logging clean closure of an SSL connection as though
|
||||||
|
it were a connection reset (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent sending SSL session tickets to clients (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fix prevents reconnection failures with ticket-aware client-side
|
||||||
|
SSL code.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix code for setting <xref linkend="guc-tcp-keepalives-idle"> on
|
||||||
|
Solaris (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix statistics collector to honor inquiry messages issued just after
|
||||||
|
a postmaster shutdown and immediate restart (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Statistics inquiries issued within half a second of the previous
|
||||||
|
postmaster shutdown were effectively ignored.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that the statistics collector's receive buffer size is at
|
||||||
|
least 100KB (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This reduces the risk of dropped statistics data on older platforms
|
||||||
|
whose default receive buffer size is less than that.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible creation of an invalid WAL segment when a standby is
|
||||||
|
promoted just after it processes an <literal>XLOG_SWITCH</> WAL
|
||||||
|
record (Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <systemitem>SIGHUP</> and <systemitem>SIGUSR1</> handling in
|
||||||
|
walsender processes (Petr Jelinek, Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessarily slow restarts of <application>walreceiver</>
|
||||||
|
processes due to race condition in postmaster (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix cases where an <command>INSERT</> or <command>UPDATE</> assigns
|
||||||
|
to more than one element of a column that is of domain-over-array
|
||||||
|
type (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow window functions to be used in sub-<literal>SELECT</>s that
|
||||||
|
are within the arguments of an aggregate function (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Move autogenerated array types out of the way during
|
||||||
|
<command>ALTER ... RENAME</> (Vik Fearing)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Previously, we would rename a conflicting autogenerated array type
|
||||||
|
out of the way during <command>CREATE</>; this fix extends that
|
||||||
|
behavior to renaming operations.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that <command>ALTER USER ... SET</> accepts all the syntax
|
||||||
|
variants that <command>ALTER ROLE ... SET</> does (Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Properly update dependency info when changing a datatype I/O
|
||||||
|
function's argument or return type from <type>opaque</> to the
|
||||||
|
correct type (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>CREATE TYPE</> updates I/O functions declared in this
|
||||||
|
long-obsolete style, but it forgot to record a dependency on the
|
||||||
|
type, allowing a subsequent <command>DROP TYPE</> to leave broken
|
||||||
|
function definitions behind.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce memory usage when <command>ANALYZE</> processes
|
||||||
|
a <type>tsvector</> column (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessary precision loss and sloppy rounding when multiplying
|
||||||
|
or dividing <type>money</> values by integers or floats (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Tighten checks for whitespace in functions that parse identifiers,
|
||||||
|
such as <function>regprocedurein()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Depending on the prevailing locale, these functions could
|
||||||
|
misinterpret fragments of multibyte characters as whitespace.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use relevant <literal>#define</> symbols from Perl while
|
||||||
|
compiling <application>PL/Perl</> (Ashutosh Sharma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids portability problems, typically manifesting as
|
||||||
|
a <quote>handshake</> mismatch during library load, when working with
|
||||||
|
recent Perl versions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>libpq</>, reset GSS/SASL and SSPI authentication
|
||||||
|
state properly after a failed connection attempt (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Failure to do this meant that when falling back from SSL to non-SSL
|
||||||
|
connections, a GSS/SASL failure in the SSL attempt would always cause
|
||||||
|
the non-SSL attempt to fail. SSPI did not fail, but it leaked memory.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>psql</>, fix failure when <command>COPY FROM STDIN</>
|
||||||
|
is ended with a keyboard EOF signal and then another <command>COPY
|
||||||
|
FROM STDIN</> is attempted (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This misbehavior was observed on BSD-derived platforms (including
|
||||||
|
macOS), but not on most others.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> and <application>pg_restore</> to
|
||||||
|
emit <command>REFRESH MATERIALIZED VIEW</> commands last (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This prevents errors during dump/restore when a materialized view
|
||||||
|
refers to tables owned by a different user.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> with the <option>--clean</> option to
|
||||||
|
drop event triggers as expected (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It also now correctly assigns ownership of event triggers; before,
|
||||||
|
they were restored as being owned by the superuser running the
|
||||||
|
restore script.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to not emit invalid SQL for an empty
|
||||||
|
operator class (Daniel Gustafsson)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> output to stdout on Windows (Kuntal Ghosh)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A compressed plain-text dump written to stdout would contain corrupt
|
||||||
|
data due to failure to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <function>pg_get_ruledef()</> to print correct output for
|
||||||
|
the <literal>ON SELECT</> rule of a view whose columns have been
|
||||||
|
renamed (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In some corner cases, <application>pg_dump</> relies
|
||||||
|
on <function>pg_get_ruledef()</> to dump views, so that this error
|
||||||
|
could result in dump/reload failures.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of outer joins with empty constraints, such as the result
|
||||||
|
of a <literal>NATURAL LEFT JOIN</> with no common columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of function expressions in the <literal>FROM</> clause in
|
||||||
|
cases where the expression does not deparse into something that looks
|
||||||
|
like a function call (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_basebackup</> output to stdout on Windows
|
||||||
|
(Haribabu Kommi)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A backup written to stdout would contain corrupt data due to failure
|
||||||
|
to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to ensure that the ending WAL record
|
||||||
|
does not have <xref linkend="guc-wal-level"> = <literal>minimum</>
|
||||||
|
(Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This condition could prevent upgraded standby servers from
|
||||||
|
reconnecting.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>postgres_fdw</>, re-establish connections to remote
|
||||||
|
servers after <command>ALTER SERVER</> or <command>ALTER USER
|
||||||
|
MAPPING</> commands (Kyotaro Horiguchi)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This ensures that option changes affecting connection parameters will
|
||||||
|
be applied promptly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>postgres_fdw</>, allow cancellation of remote
|
||||||
|
transaction control commands (Robert Haas, Rafia Sabih)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change allows us to quickly escape a wait for an unresponsive
|
||||||
|
remote server in many more cases than previously.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Always use <option>-fPIC</>, not <option>-fpic</>, when building
|
||||||
|
shared libraries with gcc (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This supports larger extension libraries on platforms where it makes
|
||||||
|
a difference.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unescaped-braces issue in our build scripts for Microsoft MSVC,
|
||||||
|
to avoid a warning or error from recent Perl versions (Andrew
|
||||||
|
Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, handle the case where the <application>openssl</>
|
||||||
|
library is not within a <filename>VC</> subdirectory (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, add proper include path for <application>libxml2</>
|
||||||
|
header files (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fixes a former need to move things around in standard Windows
|
||||||
|
installations of <application>libxml2</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, recognize a Tcl library that is
|
||||||
|
named <filename>tcl86.lib</> (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-3-17">
|
<sect1 id="release-9-3-17">
|
||||||
<title>Release 9.3.17</title>
|
<title>Release 9.3.17</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,540 @@
|
|||||||
<!-- doc/src/sgml/release-9.4.sgml -->
|
<!-- doc/src/sgml/release-9.4.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-4-13">
|
||||||
|
<title>Release 9.4.13</title>
|
||||||
|
|
||||||
|
<formalpara>
|
||||||
|
<title>Release date:</title>
|
||||||
|
<para>2017-08-10</para>
|
||||||
|
</formalpara>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.4.12.
|
||||||
|
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.13</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.12,
|
||||||
|
see <xref linkend="release-9-4-12">.
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix concurrent locking of tuple update chains (Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If several sessions concurrently lock a tuple update chain with
|
||||||
|
nonconflicting lock modes using an old snapshot, and they all
|
||||||
|
succeed, it was possible for some of them to nonetheless fail (and
|
||||||
|
conclude there is no live tuple version) due to a race condition.
|
||||||
|
This had consequences such as foreign-key checks failing to see a
|
||||||
|
tuple that definitely exists but is being updated concurrently.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential data corruption when freezing a tuple whose XMAX is a
|
||||||
|
multixact with exactly one still-interesting member (Teodor Sigaev)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid integer overflow and ensuing crash when sorting more than one
|
||||||
|
billion tuples in-memory (Sergey Koposov)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On Windows, retry process creation if we fail to reserve the address
|
||||||
|
range for our shared memory in the new process (Tom Lane, Amit
|
||||||
|
Kapila)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to fix infrequent child-process-launch failures that
|
||||||
|
are probably due to interference from antivirus products.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-probability corruption of shared predicate-lock hash table
|
||||||
|
in Windows builds (Thomas Munro, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid logging clean closure of an SSL connection as though
|
||||||
|
it were a connection reset (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent sending SSL session tickets to clients (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fix prevents reconnection failures with ticket-aware client-side
|
||||||
|
SSL code.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix code for setting <xref linkend="guc-tcp-keepalives-idle"> on
|
||||||
|
Solaris (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix statistics collector to honor inquiry messages issued just after
|
||||||
|
a postmaster shutdown and immediate restart (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Statistics inquiries issued within half a second of the previous
|
||||||
|
postmaster shutdown were effectively ignored.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that the statistics collector's receive buffer size is at
|
||||||
|
least 100KB (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This reduces the risk of dropped statistics data on older platforms
|
||||||
|
whose default receive buffer size is less than that.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible creation of an invalid WAL segment when a standby is
|
||||||
|
promoted just after it processes an <literal>XLOG_SWITCH</> WAL
|
||||||
|
record (Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>walsender</> to exit promptly when client requests
|
||||||
|
shutdown (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <systemitem>SIGHUP</> and <systemitem>SIGUSR1</> handling in
|
||||||
|
walsender processes (Petr Jelinek, Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent walsender-triggered panics during shutdown checkpoints
|
||||||
|
(Andres Freund, Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessarily slow restarts of <application>walreceiver</>
|
||||||
|
processes due to race condition in postmaster (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<!--
|
||||||
|
Author: Andres Freund <andres@anarazel.de>
|
||||||
|
Branch: REL9_4_STABLE [23a2b818f] 2017-08-05 14:56:40 -0700
|
||||||
|
-->
|
||||||
|
<para>
|
||||||
|
Fix logical decoding failure with very wide tuples (Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Logical decoding crashed on tuples that are wider than 64KB (after
|
||||||
|
compression, but with all data in-line). The case arises only
|
||||||
|
when <literal>REPLICA IDENTITY FULL</> is enabled for a table
|
||||||
|
containing such tuples.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix leakage of small subtransactions spilled to disk during logical
|
||||||
|
decoding (Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This resulted in temporary files consuming excessive disk space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce the work needed to build snapshots during creation of
|
||||||
|
logical-decoding slots (Andres Freund, Petr Jelinek)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The previous algorithm was infeasibly expensive on a server with a
|
||||||
|
lot of open transactions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix race condition that could indefinitely delay creation of
|
||||||
|
logical-decoding slots (Andres Freund, Petr Jelinek)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce overhead in processing syscache invalidation events (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is particularly helpful for logical decoding, which triggers
|
||||||
|
frequent cache invalidation.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix cases where an <command>INSERT</> or <command>UPDATE</> assigns
|
||||||
|
to more than one element of a column that is of domain-over-array
|
||||||
|
type (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow window functions to be used in sub-<literal>SELECT</>s that
|
||||||
|
are within the arguments of an aggregate function (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Move autogenerated array types out of the way during
|
||||||
|
<command>ALTER ... RENAME</> (Vik Fearing)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Previously, we would rename a conflicting autogenerated array type
|
||||||
|
out of the way during <command>CREATE</>; this fix extends that
|
||||||
|
behavior to renaming operations.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that <command>ALTER USER ... SET</> accepts all the syntax
|
||||||
|
variants that <command>ALTER ROLE ... SET</> does (Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Properly update dependency info when changing a datatype I/O
|
||||||
|
function's argument or return type from <type>opaque</> to the
|
||||||
|
correct type (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>CREATE TYPE</> updates I/O functions declared in this
|
||||||
|
long-obsolete style, but it forgot to record a dependency on the
|
||||||
|
type, allowing a subsequent <command>DROP TYPE</> to leave broken
|
||||||
|
function definitions behind.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce memory usage when <command>ANALYZE</> processes
|
||||||
|
a <type>tsvector</> column (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessary precision loss and sloppy rounding when multiplying
|
||||||
|
or dividing <type>money</> values by integers or floats (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Tighten checks for whitespace in functions that parse identifiers,
|
||||||
|
such as <function>regprocedurein()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Depending on the prevailing locale, these functions could
|
||||||
|
misinterpret fragments of multibyte characters as whitespace.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use relevant <literal>#define</> symbols from Perl while
|
||||||
|
compiling <application>PL/Perl</> (Ashutosh Sharma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids portability problems, typically manifesting as
|
||||||
|
a <quote>handshake</> mismatch during library load, when working with
|
||||||
|
recent Perl versions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>libpq</>, reset GSS/SASL and SSPI authentication
|
||||||
|
state properly after a failed connection attempt (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Failure to do this meant that when falling back from SSL to non-SSL
|
||||||
|
connections, a GSS/SASL failure in the SSL attempt would always cause
|
||||||
|
the non-SSL attempt to fail. SSPI did not fail, but it leaked memory.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>psql</>, fix failure when <command>COPY FROM STDIN</>
|
||||||
|
is ended with a keyboard EOF signal and then another <command>COPY
|
||||||
|
FROM STDIN</> is attempted (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This misbehavior was observed on BSD-derived platforms (including
|
||||||
|
macOS), but not on most others.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> and <application>pg_restore</> to
|
||||||
|
emit <command>REFRESH MATERIALIZED VIEW</> commands last (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This prevents errors during dump/restore when a materialized view
|
||||||
|
refers to tables owned by a different user.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <application>pg_dump</>/<application>pg_restore</>'s
|
||||||
|
reporting of error conditions originating in <application>zlib</>
|
||||||
|
(Vladimir Kunschikov, Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> with the <option>--clean</> option to
|
||||||
|
drop event triggers as expected (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It also now correctly assigns ownership of event triggers; before,
|
||||||
|
they were restored as being owned by the superuser running the
|
||||||
|
restore script.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to not emit invalid SQL for an empty
|
||||||
|
operator class (Daniel Gustafsson)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> output to stdout on Windows (Kuntal Ghosh)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A compressed plain-text dump written to stdout would contain corrupt
|
||||||
|
data due to failure to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <function>pg_get_ruledef()</> to print correct output for
|
||||||
|
the <literal>ON SELECT</> rule of a view whose columns have been
|
||||||
|
renamed (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In some corner cases, <application>pg_dump</> relies
|
||||||
|
on <function>pg_get_ruledef()</> to dump views, so that this error
|
||||||
|
could result in dump/reload failures.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of outer joins with empty constraints, such as the result
|
||||||
|
of a <literal>NATURAL LEFT JOIN</> with no common columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of function expressions in the <literal>FROM</> clause in
|
||||||
|
cases where the expression does not deparse into something that looks
|
||||||
|
like a function call (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_basebackup</> output to stdout on Windows
|
||||||
|
(Haribabu Kommi)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A backup written to stdout would contain corrupt data due to failure
|
||||||
|
to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to ensure that the ending WAL record
|
||||||
|
does not have <xref linkend="guc-wal-level"> = <literal>minimum</>
|
||||||
|
(Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This condition could prevent upgraded standby servers from
|
||||||
|
reconnecting.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>postgres_fdw</>, re-establish connections to remote
|
||||||
|
servers after <command>ALTER SERVER</> or <command>ALTER USER
|
||||||
|
MAPPING</> commands (Kyotaro Horiguchi)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This ensures that option changes affecting connection parameters will
|
||||||
|
be applied promptly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>postgres_fdw</>, allow cancellation of remote
|
||||||
|
transaction control commands (Robert Haas, Rafia Sabih)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change allows us to quickly escape a wait for an unresponsive
|
||||||
|
remote server in many more cases than previously.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Increase <literal>MAX_SYSCACHE_CALLBACKS</> to provide more room for
|
||||||
|
extensions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Always use <option>-fPIC</>, not <option>-fpic</>, when building
|
||||||
|
shared libraries with gcc (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This supports larger extension libraries on platforms where it makes
|
||||||
|
a difference.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unescaped-braces issue in our build scripts for Microsoft MSVC,
|
||||||
|
to avoid a warning or error from recent Perl versions (Andrew
|
||||||
|
Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, handle the case where the <application>openssl</>
|
||||||
|
library is not within a <filename>VC</> subdirectory (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, add proper include path for <application>libxml2</>
|
||||||
|
header files (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fixes a former need to move things around in standard Windows
|
||||||
|
installations of <application>libxml2</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, recognize a Tcl library that is
|
||||||
|
named <filename>tcl86.lib</> (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, honor <literal>PROVE_FLAGS</> settings
|
||||||
|
on <filename>vcregress.pl</>'s command line (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-4-12">
|
<sect1 id="release-9-4-12">
|
||||||
<title>Release 9.4.12</title>
|
<title>Release 9.4.12</title>
|
||||||
|
|
||||||
|
@ -1,6 +1,574 @@
|
|||||||
<!-- doc/src/sgml/release-9.5.sgml -->
|
<!-- doc/src/sgml/release-9.5.sgml -->
|
||||||
<!-- See header comment in release.sgml about typical markup -->
|
<!-- See header comment in release.sgml about typical markup -->
|
||||||
|
|
||||||
|
<sect1 id="release-9-5-8">
|
||||||
|
<title>Release 9.5.8</title>
|
||||||
|
|
||||||
|
<formalpara>
|
||||||
|
<title>Release date:</title>
|
||||||
|
<para>2017-08-10</para>
|
||||||
|
</formalpara>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This release contains a variety of fixes from 9.5.7.
|
||||||
|
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.8</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.7,
|
||||||
|
see <xref linkend="release-9-5-7">.
|
||||||
|
</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Changes</title>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Correct the documentation about the process for upgrading standby
|
||||||
|
servers with <application>pg_upgrade</> (Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The previous documentation instructed users to start/stop the primary
|
||||||
|
server after running <application>pg_upgrade</> but before syncing
|
||||||
|
the standby servers. This sequence is unsafe.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix concurrent locking of tuple update chains (Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If several sessions concurrently lock a tuple update chain with
|
||||||
|
nonconflicting lock modes using an old snapshot, and they all
|
||||||
|
succeed, it was possible for some of them to nonetheless fail (and
|
||||||
|
conclude there is no live tuple version) due to a race condition.
|
||||||
|
This had consequences such as foreign-key checks failing to see a
|
||||||
|
tuple that definitely exists but is being updated concurrently.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix potential data corruption when freezing a tuple whose XMAX is a
|
||||||
|
multixact with exactly one still-interesting member (Teodor Sigaev)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid integer overflow and ensuing crash when sorting more than one
|
||||||
|
billion tuples in-memory (Sergey Koposov)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
On Windows, retry process creation if we fail to reserve the address
|
||||||
|
range for our shared memory in the new process (Tom Lane, Amit
|
||||||
|
Kapila)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is expected to fix infrequent child-process-launch failures that
|
||||||
|
are probably due to interference from antivirus products.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix low-probability corruption of shared predicate-lock hash table
|
||||||
|
in Windows builds (Thomas Munro, Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Avoid logging clean closure of an SSL connection as though
|
||||||
|
it were a connection reset (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent sending SSL session tickets to clients (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fix prevents reconnection failures with ticket-aware client-side
|
||||||
|
SSL code.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix code for setting <xref linkend="guc-tcp-keepalives-idle"> on
|
||||||
|
Solaris (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix statistics collector to honor inquiry messages issued just after
|
||||||
|
a postmaster shutdown and immediate restart (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Statistics inquiries issued within half a second of the previous
|
||||||
|
postmaster shutdown were effectively ignored.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that the statistics collector's receive buffer size is at
|
||||||
|
least 100KB (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This reduces the risk of dropped statistics data on older platforms
|
||||||
|
whose default receive buffer size is less than that.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix possible creation of an invalid WAL segment when a standby is
|
||||||
|
promoted just after it processes an <literal>XLOG_SWITCH</> WAL
|
||||||
|
record (Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>walsender</> to exit promptly when client requests
|
||||||
|
shutdown (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <systemitem>SIGHUP</> and <systemitem>SIGUSR1</> handling in
|
||||||
|
walsender processes (Petr Jelinek, Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prevent walsender-triggered panics during shutdown checkpoints
|
||||||
|
(Andres Freund, Michael Paquier)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessarily slow restarts of <application>walreceiver</>
|
||||||
|
processes due to race condition in postmaster (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix leakage of small subtransactions spilled to disk during logical
|
||||||
|
decoding (Andres Freund)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This resulted in temporary files consuming excessive disk space.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce the work needed to build snapshots during creation of
|
||||||
|
logical-decoding slots (Andres Freund, Petr Jelinek)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
The previous algorithm was infeasibly expensive on a server with a
|
||||||
|
lot of open transactions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix race condition that could indefinitely delay creation of
|
||||||
|
logical-decoding slots (Andres Freund, Petr Jelinek)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce overhead in processing syscache invalidation events (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This is particularly helpful for logical decoding, which triggers
|
||||||
|
frequent cache invalidation.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix cases where an <command>INSERT</> or <command>UPDATE</> assigns
|
||||||
|
to more than one element of a column that is of domain-over-array
|
||||||
|
type (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Allow window functions to be used in sub-<literal>SELECT</>s that
|
||||||
|
are within the arguments of an aggregate function (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Move autogenerated array types out of the way during
|
||||||
|
<command>ALTER ... RENAME</> (Vik Fearing)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Previously, we would rename a conflicting autogenerated array type
|
||||||
|
out of the way during <command>CREATE</>; this fix extends that
|
||||||
|
behavior to renaming operations.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dangling pointer in <command>ALTER TABLE</> when there is a
|
||||||
|
comment on a constraint belonging to the table (David Rowley)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Re-applying the comment to the reconstructed constraint could fail
|
||||||
|
with a weird error message, or even crash.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Ensure that <command>ALTER USER ... SET</> accepts all the syntax
|
||||||
|
variants that <command>ALTER ROLE ... SET</> does (Peter Eisentraut)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Properly update dependency info when changing a datatype I/O
|
||||||
|
function's argument or return type from <type>opaque</> to the
|
||||||
|
correct type (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>CREATE TYPE</> updates I/O functions declared in this
|
||||||
|
long-obsolete style, but it forgot to record a dependency on the
|
||||||
|
type, allowing a subsequent <command>DROP TYPE</> to leave broken
|
||||||
|
function definitions behind.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduce memory usage when <command>ANALYZE</> processes
|
||||||
|
a <type>tsvector</> column (Heikki Linnakangas)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix unnecessary precision loss and sloppy rounding when multiplying
|
||||||
|
or dividing <type>money</> values by integers or floats (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Tighten checks for whitespace in functions that parse identifiers,
|
||||||
|
such as <function>regprocedurein()</> (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Depending on the prevailing locale, these functions could
|
||||||
|
misinterpret fragments of multibyte characters as whitespace.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Use relevant <literal>#define</> symbols from Perl while
|
||||||
|
compiling <application>PL/Perl</> (Ashutosh Sharma, Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This avoids portability problems, typically manifesting as
|
||||||
|
a <quote>handshake</> mismatch during library load, when working with
|
||||||
|
recent Perl versions.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>libpq</>, reset GSS/SASL and SSPI authentication
|
||||||
|
state properly after a failed connection attempt (Michael Paquier)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Failure to do this meant that when falling back from SSL to non-SSL
|
||||||
|
connections, a GSS/SASL failure in the SSL attempt would always cause
|
||||||
|
the non-SSL attempt to fail. SSPI did not fail, but it leaked memory.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <application>psql</>, fix failure when <command>COPY FROM STDIN</>
|
||||||
|
is ended with a keyboard EOF signal and then another <command>COPY
|
||||||
|
FROM STDIN</> is attempted (Thomas Munro)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This misbehavior was observed on BSD-derived platforms (including
|
||||||
|
macOS), but not on most others.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> and <application>pg_restore</> to
|
||||||
|
emit <command>REFRESH MATERIALIZED VIEW</> commands last (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This prevents errors during dump/restore when a materialized view
|
||||||
|
refers to tables owned by a different user.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Improve <application>pg_dump</>/<application>pg_restore</>'s
|
||||||
|
reporting of error conditions originating in <application>zlib</>
|
||||||
|
(Vladimir Kunschikov, Álvaro Herrera)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> with the <option>--clean</> option to
|
||||||
|
drop event triggers as expected (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
It also now correctly assigns ownership of event triggers; before,
|
||||||
|
they were restored as being owned by the superuser running the
|
||||||
|
restore script.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> to not emit invalid SQL for an empty
|
||||||
|
operator class (Daniel Gustafsson)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_dump</> output to stdout on Windows (Kuntal Ghosh)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A compressed plain-text dump written to stdout would contain corrupt
|
||||||
|
data due to failure to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <function>pg_get_ruledef()</> to print correct output for
|
||||||
|
the <literal>ON SELECT</> rule of a view whose columns have been
|
||||||
|
renamed (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In some corner cases, <application>pg_dump</> relies
|
||||||
|
on <function>pg_get_ruledef()</> to dump views, so that this error
|
||||||
|
could result in dump/reload failures.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of outer joins with empty constraints, such as the result
|
||||||
|
of a <literal>NATURAL LEFT JOIN</> with no common columns (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix dumping of function expressions in the <literal>FROM</> clause in
|
||||||
|
cases where the expression does not deparse into something that looks
|
||||||
|
like a function call (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_basebackup</> output to stdout on Windows
|
||||||
|
(Haribabu Kommi)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A backup written to stdout would contain corrupt data due to failure
|
||||||
|
to put the file descriptor into binary mode.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_rewind</> to correctly handle files exceeding 2GB
|
||||||
|
(Kuntal Ghosh, Michael Paquier)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Ordinarily such files won't appear in <productname>PostgreSQL</> data
|
||||||
|
directories, but they could be present in some cases.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_upgrade</> to ensure that the ending WAL record
|
||||||
|
does not have <xref linkend="guc-wal-level"> = <literal>minimum</>
|
||||||
|
(Bruce Momjian)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This condition could prevent upgraded standby servers from
|
||||||
|
reconnecting.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Fix <application>pg_xlogdump</>'s computation of WAL record length
|
||||||
|
(Andres Freund)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>postgres_fdw</>, re-establish connections to remote
|
||||||
|
servers after <command>ALTER SERVER</> or <command>ALTER USER
|
||||||
|
MAPPING</> commands (Kyotaro Horiguchi)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This ensures that option changes affecting connection parameters will
|
||||||
|
be applied promptly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In <filename>postgres_fdw</>, allow cancellation of remote
|
||||||
|
transaction control commands (Robert Haas, Rafia Sabih)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change allows us to quickly escape a wait for an unresponsive
|
||||||
|
remote server in many more cases than previously.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Increase <literal>MAX_SYSCACHE_CALLBACKS</> to provide more room for
|
||||||
|
extensions (Tom Lane)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Always use <option>-fPIC</>, not <option>-fpic</>, when building
|
||||||
|
shared libraries with gcc (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This supports larger extension libraries on platforms where it makes
|
||||||
|
a difference.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<!--
|
||||||
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
|
Branch: REL9_5_STABLE [af1f18259] 2017-08-02 15:07:20 -0400
|
||||||
|
Branch: REL9_4_STABLE [8892170e7] 2017-08-02 15:07:20 -0400
|
||||||
|
Branch: REL9_3_STABLE [3d9ae20e7] 2017-08-02 15:07:20 -0400
|
||||||
|
Branch: REL9_2_STABLE [1188b9b2c] 2017-08-02 15:07:21 -0400
|
||||||
|
-->
|
||||||
|
<para>
|
||||||
|
Fix unescaped-braces issue in our build scripts for Microsoft MSVC,
|
||||||
|
to avoid a warning or error from recent Perl versions (Andrew
|
||||||
|
Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, handle the case where the <application>openssl</>
|
||||||
|
library is not within a <filename>VC</> subdirectory (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, add proper include path for <application>libxml2</>
|
||||||
|
header files (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This fixes a former need to move things around in standard Windows
|
||||||
|
installations of <application>libxml2</>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, recognize a Tcl library that is
|
||||||
|
named <filename>tcl86.lib</> (Noah Misch)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
In MSVC builds, honor <literal>PROVE_FLAGS</> settings
|
||||||
|
on <filename>vcregress.pl</>'s command line (Andrew Dunstan)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
</sect1>
|
||||||
|
|
||||||
<sect1 id="release-9-5-7">
|
<sect1 id="release-9-5-7">
|
||||||
<title>Release 9.5.7</title>
|
<title>Release 9.5.7</title>
|
||||||
|
|
||||||
|
@ -216,10 +216,8 @@ Branch: REL9_2_STABLE [439b6363d] 2017-06-26 16:17:06 -0400
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Confusion between permanent and temporary statistics file timestamps
|
Statistics inquiries issued within half a second of the previous
|
||||||
allowed the collector to think it had already written data satisfying
|
postmaster shutdown were effectively ignored.
|
||||||
the request, when it had not. This only affected inquiries issued
|
|
||||||
within half a second of the previous postmaster shutdown.
|
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -458,11 +456,6 @@ Branch: REL9_3_STABLE [66dee28b4] 2017-06-27 17:51:11 -0400
|
|||||||
Allow window functions to be used in sub-<literal>SELECT</>s that
|
Allow window functions to be used in sub-<literal>SELECT</>s that
|
||||||
are within the arguments of an aggregate function (Tom Lane)
|
are within the arguments of an aggregate function (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
|
||||||
This case is perfectly valid, but it was accidentally rejected by an
|
|
||||||
overly-aggressive error check.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -556,8 +549,8 @@ Branch: REL9_6_STABLE [1f220c390] 2017-08-03 13:25:32 -0400
|
|||||||
But this is wrong for <command>CREATE FOREIGN TABLE</>, where there's
|
But this is wrong for <command>CREATE FOREIGN TABLE</>, where there's
|
||||||
no reason to suppose that the underlying table is empty, and even if
|
no reason to suppose that the underlying table is empty, and even if
|
||||||
it is it's no business of ours to decide that the constraint can be
|
it is it's no business of ours to decide that the constraint can be
|
||||||
treated as valid going forward. Skip the <quote>optimization</> in
|
treated as valid going forward. Skip this <quote>optimization</> for
|
||||||
that case.
|
foreign tables.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -716,7 +709,7 @@ Branch: REL9_2_STABLE [07477130e] 2017-05-17 12:24:19 -0400
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This misbehavior is observed on BSD-derived platforms (including
|
This misbehavior was observed on BSD-derived platforms (including
|
||||||
macOS), but not on most others.
|
macOS), but not on most others.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -863,7 +856,7 @@ Branch: REL9_3_STABLE [e947838ae] 2017-07-20 11:29:36 -0400
|
|||||||
-->
|
-->
|
||||||
<para>
|
<para>
|
||||||
Fix dumping of outer joins with empty constraints, such as the result
|
Fix dumping of outer joins with empty constraints, such as the result
|
||||||
of a <literal>NATURAL JOIN</> with no common columns (Tom Lane)
|
of a <literal>NATURAL LEFT JOIN</> with no common columns (Tom Lane)
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -994,8 +987,8 @@ Branch: REL9_4_STABLE [c02c450cf] 2017-06-07 15:40:35 -0400
|
|||||||
Branch: REL9_3_STABLE [fc267a0c3] 2017-06-07 15:41:05 -0400
|
Branch: REL9_3_STABLE [fc267a0c3] 2017-06-07 15:41:05 -0400
|
||||||
-->
|
-->
|
||||||
<para>
|
<para>
|
||||||
In <filename>postgres_fdw</>, allow cancellation of transaction
|
In <filename>postgres_fdw</>, allow cancellation of remote
|
||||||
control commands (Robert Haas, Rafia Sabih)
|
transaction control commands (Robert Haas, Rafia Sabih)
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -1041,21 +1034,6 @@ Branch: REL9_2_STABLE [a378b9bc2] 2017-06-01 13:32:56 -0400
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<!--
|
<!--
|
||||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
||||||
Branch: REL9_5_STABLE [af1f18259] 2017-08-02 15:07:20 -0400
|
|
||||||
Branch: REL9_4_STABLE [8892170e7] 2017-08-02 15:07:20 -0400
|
|
||||||
Branch: REL9_3_STABLE [3d9ae20e7] 2017-08-02 15:07:20 -0400
|
|
||||||
Branch: REL9_2_STABLE [1188b9b2c] 2017-08-02 15:07:21 -0400
|
|
||||||
-->
|
|
||||||
<para>
|
|
||||||
Fix unescaped-braces issue in our build scripts for Microsoft MSVC,
|
|
||||||
to avoid a warning or error from recent Perl versions (Andrew
|
|
||||||
Dunstan)
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<!--
|
|
||||||
Author: Andrew Dunstan <andrew@dunslane.net>
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
||||||
Branch: master [614350a3a] 2017-06-05 14:24:42 -0400
|
Branch: master [614350a3a] 2017-06-05 14:24:42 -0400
|
||||||
Branch: REL9_6_STABLE [b64ff9c5a] 2017-06-05 14:27:59 -0400
|
Branch: REL9_6_STABLE [b64ff9c5a] 2017-06-05 14:27:59 -0400
|
||||||
|
Loading…
x
Reference in New Issue
Block a user