<!-- doc/src/sgml/release-9.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-0-23">
+ <title>Release 9.0.23</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2015-10-08</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.0.22.
+ For information about new features in the 9.0 major release, see
+ <xref linkend="release-9-0">.
+ </para>
+
+ <para>
+ This is expected to be the last <productname>PostgreSQL</> release
+ in the 9.0.X series. Users are encouraged to update to a newer
+ release branch soon.
+ </para>
+
+ <sect2>
+ <title>Migration to Version 9.0.23</title>
+
+ <para>
+ A dump/restore is not required for those running 9.0.X.
+ </para>
+
+ <para>
+ However, if you are upgrading from a version earlier than 9.0.18,
+ see <xref linkend="release-9-0-18">.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Fix subtransaction cleanup after a portal (cursor) belonging to an
+ outer subtransaction fails (Tom Lane, Michael Paquier)
+ </para>
+
+ <para>
+ A function executed in an outer-subtransaction cursor could cause an
+ assertion failure or crash by referencing a relation created within an
+ inner subtransaction.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix insertion of relations into the relation cache <quote>init file</>
+ (Tom Lane)
+ </para>
+
+ <para>
+ An oversight in a patch in the most recent minor releases
+ caused <structname>pg_trigger_tgrelid_tgname_index</> to be omitted
+ from the init file. Subsequent sessions detected this, then deemed the
+ init file to be broken and silently ignored it, resulting in a
+ significant degradation in session startup time. In addition to fixing
+ the bug, install some guards so that any similar future mistake will be
+ more obvious.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid O(N^2) behavior when inserting many tuples into a SPI query
+ result (Neil Conway)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve <command>LISTEN</> startup time when there are many unread
+ notifications (Matt Newell)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Disable SSL renegotiation by default (Michael Paquier, Andres Freund)
+ </para>
+
+ <para>
+ While use of SSL renegotiation is a good idea in theory, we have seen
+ too many bugs in practice, both in the underlying OpenSSL library and
+ in our usage of it. Renegotiation will be removed entirely in 9.5 and
+ later. In the older branches, just change the default value
+ of <varname>ssl_renegotiation_limit</> to zero (disabled).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Lower the minimum values of the <literal>*_freeze_max_age</> parameters
+ (Andres Freund)
+ </para>
+
+ <para>
+ This is mainly to make tests of related behavior less time-consuming,
+ but it may also be of value for installations with limited disk space.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Limit the maximum value of <varname>wal_buffers</> to 2GB to avoid
+ server crashes (Josh Berkus)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare internal overflow in multiplication of <type>numeric</> values
+ (Dean Rasheed)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix handling of <literal>DOW</> and <literal>DOY</> in datetime input
+ (Greg Stark)
+ </para>
+
+ <para>
+ These tokens aren't meant to be used in datetime values, but previously
+ they resulted in opaque internal error messages rather
+ than <quote>invalid input syntax</>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add more query-cancel checks to regular expression matching (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add recursion depth protections to regular expression, <literal>SIMILAR
+ TO</>, and <literal>LIKE</> matching (Tom Lane)
+ </para>
+
+ <para>
+ Suitable search patterns and a low stack depth limit could lead to
+ stack-overrun crashes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix potential infinite loop in regular expression execution (Tom Lane)
+ </para>
+
+ <para>
+ A search pattern that can apparently match a zero-length string, but
+ actually doesn't match because of a back reference, could lead to an
+ infinite loop.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix low-memory failures in regular expression compilation
+ (Andreas Seltenreich)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix low-probability memory leak during regular expression execution
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare low-memory failure in lock cleanup during transaction abort
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <quote>unexpected out-of-memory situation during sort</> errors
+ when using tuplestores with small <varname>work_mem</> settings (Tom
+ Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix very-low-probability stack overrun in <function>qsort</> (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <quote>invalid memory alloc request size</> failure in hash joins
+ with large <varname>work_mem</> settings (Tomas Vondra, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix assorted planner bugs (Tom Lane)
+ </para>
+
+ <para>
+ These mistakes could lead to incorrect query plans that would give wrong
+ answers, or to assertion failures in assert-enabled builds, or to odd
+ planner errors such as <quote>could not devise a query plan for the
+ given query</>, <quote>could not find pathkey item to
+ sort</>, <quote>plan should not reference subplan's variable</>,
+ or <quote>failed to assign all NestLoopParams to plan nodes</>.
+ Thanks are due to Andreas Seltenreich and Piotr Stefaniak for fuzz
+ testing that exposed these problems.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Use fuzzy path cost tiebreaking rule in all supported branches (Tom Lane)
+ </para>
+
+ <para>
+ This change is meant to avoid platform-specific behavior when
+ alternative plan choices have effectively-identical estimated costs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ During postmaster shutdown, ensure that per-socket lock files are
+ removed and listen sockets are closed before we remove
+ the <filename>postmaster.pid</> file (Tom Lane)
+ </para>
+
+ <para>
+ This avoids race-condition failures if an external script attempts to
+ start a new postmaster as soon as <literal>pg_ctl stop</> returns.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix postmaster's handling of a startup-process crash during crash
+ recovery (Tom Lane)
+ </para>
+
+ <para>
+ If, during a crash recovery cycle, the startup process crashes without
+ having restored database consistency, we'd try to launch a new startup
+ process, which typically would just crash again, leading to an infinite
+ loop.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Do not print a <literal>WARNING</> when an autovacuum worker is already
+ gone when we attempt to signal it, and reduce log verbosity for such
+ signals (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent autovacuum launcher from sleeping unduly long if the server
+ clock is moved backwards a large amount (Álvaro Herrera)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that cleanup of a GIN index's pending-insertions list is
+ interruptable by cancel requests (Jeff Janes)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Allow all-zeroes pages in GIN indexes to be reused (Heikki Linnakangas)
+ </para>
+
+ <para>
+ Such a page might be left behind after a crash.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix off-by-one error that led to otherwise-harmless warnings
+ about <quote>apparent wraparound</> in subtrans/multixact truncation
+ (Thomas Munro)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix misreporting of <command>CONTINUE</> and <command>MOVE</> statement
+ types in <application>PL/pgSQL</>'s error context messages
+ (Pavel Stehule, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix some places in <application>PL/Tcl</> that neglected to check for
+ failure of <function>malloc()</> calls (Michael Paquier, Álvaro
+ Herrera)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve <application>libpq</>'s handling of out-of-memory conditions
+ (Michael Paquier, Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix memory leaks and missing out-of-memory checks
+ in <application>ecpg</> (Michael Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>psql</>'s code for locale-aware formatting of numeric
+ output (Tom Lane)
+ </para>
+
+ <para>
+ The formatting code invoked by <literal>\pset numericlocale on</>
+ did the wrong thing for some uncommon cases such as numbers with an
+ exponent but no decimal point. It could also mangle already-localized
+ output from the <type>money</> data type.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent crash in <application>psql</>'s <command>\c</> command when
+ there is no current connection (Noah Misch)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that temporary files created during a <application>pg_dump</>
+ run with <acronym>tar</>-format output are not world-readable (Michael
+ Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dump</> and <application>pg_upgrade</> to support
+ cases where the <literal>postgres</> or <literal>template1</> database
+ is in a non-default tablespace (Marti Raudsepp, Bruce Momjian)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dump</> to handle object privileges sanely when
+ dumping from a server too old to have a particular privilege type
+ (Tom Lane)
+ </para>
+
+ <para>
+ When dumping functions or procedural languages from pre-7.3
+ servers, <application>pg_dump</> would
+ produce <command>GRANT</>/<command>REVOKE</> commands that revoked the
+ owner's grantable privileges and instead granted all privileges
+ to <literal>PUBLIC</>. Since the privileges involved are
+ just <literal>USAGE</> and <literal>EXECUTE</>, this isn't a security
+ problem, but it's certainly a surprising representation of the older
+ systems' behavior. Fix it to leave the default privilege state alone
+ in these cases.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dump</> to dump shell types (Tom Lane)
+ </para>
+
+ <para>
+ Shell types (that is, not-yet-fully-defined types) aren't useful for
+ much, but nonetheless <application>pg_dump</> should dump them.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix spinlock assembly code for PPC hardware to be compatible
+ with <acronym>AIX</>'s native assembler (Tom Lane)
+ </para>
+
+ <para>
+ Building with <application>gcc</> didn't work if <application>gcc</>
+ had been configured to use the native assembler, which is becoming more
+ common.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ On <acronym>AIX</>, test the <literal>-qlonglong</> compiler option
+ rather than just assuming it's safe to use (Noah Misch)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ On <acronym>AIX</>, use <literal>-Wl,-brtllib</> link option to allow
+ symbols to be resolved at runtime (Noah Misch)
+ </para>
+
+ <para>
+ Perl relies on this ability in 5.8.0 and later.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid use of inline functions when compiling with
+ 32-bit <application>xlc</>, due to compiler bugs (Noah Misch)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Use <filename>librt</> for <function>sched_yield()</> when necessary,
+ which it is on some Solaris versions (Oskari Saarenmaa)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix Windows <filename>install.bat</> script to handle target directory
+ names that contain spaces (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make the numeric form of the <productname>PostgreSQL</> version number
+ (e.g., <literal>90405</>) readily available to extension Makefiles,
+ as a variable named <varname>VERSION_NUM</> (Michael Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update time zone data files to <application>tzdata</> release 2015g for
+ DST law changes in Cayman Islands, Fiji, Moldova, Morocco, Norfolk
+ Island, North Korea, Turkey, and Uruguay. There is a new zone name
+ <literal>America/Fort_Nelson</> for the Canadian Northern Rockies.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-0-22">
<title>Release 9.0.22</title>
<!-- doc/src/sgml/release-9.1.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-1-19">
+ <title>Release 9.1.19</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2015-10-08</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.1.18.
+ For information about new features in the 9.1 major release, see
+ <xref linkend="release-9-1">.
+ </para>
+
+ <sect2>
+ <title>Migration to Version 9.1.19</title>
+
+ <para>
+ A dump/restore is not required for those running 9.1.X.
+ </para>
+
+ <para>
+ However, if you are upgrading from a version earlier than 9.1.16,
+ see <xref linkend="release-9-1-16">.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Fix subtransaction cleanup after a portal (cursor) belonging to an
+ outer subtransaction fails (Tom Lane, Michael Paquier)
+ </para>
+
+ <para>
+ A function executed in an outer-subtransaction cursor could cause an
+ assertion failure or crash by referencing a relation created within an
+ inner subtransaction.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix insertion of relations into the relation cache <quote>init file</>
+ (Tom Lane)
+ </para>
+
+ <para>
+ An oversight in a patch in the most recent minor releases
+ caused <structname>pg_trigger_tgrelid_tgname_index</> to be omitted
+ from the init file. Subsequent sessions detected this, then deemed the
+ init file to be broken and silently ignored it, resulting in a
+ significant degradation in session startup time. In addition to fixing
+ the bug, install some guards so that any similar future mistake will be
+ more obvious.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid O(N^2) behavior when inserting many tuples into a SPI query
+ result (Neil Conway)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve <command>LISTEN</> startup time when there are many unread
+ notifications (Matt Newell)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Back-patch 9.3-era addition of per-resource-owner lock caches
+ (Jeff Janes)
+ </para>
+
+ <para>
+ This substantially improves performance when <application>pg_dump</>
+ tries to dump a large number of tables.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Disable SSL renegotiation by default (Michael Paquier, Andres Freund)
+ </para>
+
+ <para>
+ While use of SSL renegotiation is a good idea in theory, we have seen
+ too many bugs in practice, both in the underlying OpenSSL library and
+ in our usage of it. Renegotiation will be removed entirely in 9.5 and
+ later. In the older branches, just change the default value
+ of <varname>ssl_renegotiation_limit</> to zero (disabled).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Lower the minimum values of the <literal>*_freeze_max_age</> parameters
+ (Andres Freund)
+ </para>
+
+ <para>
+ This is mainly to make tests of related behavior less time-consuming,
+ but it may also be of value for installations with limited disk space.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Limit the maximum value of <varname>wal_buffers</> to 2GB to avoid
+ server crashes (Josh Berkus)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare internal overflow in multiplication of <type>numeric</> values
+ (Dean Rasheed)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix handling of <literal>DOW</> and <literal>DOY</> in datetime input
+ (Greg Stark)
+ </para>
+
+ <para>
+ These tokens aren't meant to be used in datetime values, but previously
+ they resulted in opaque internal error messages rather
+ than <quote>invalid input syntax</>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add more query-cancel checks to regular expression matching (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add recursion depth protections to regular expression, <literal>SIMILAR
+ TO</>, and <literal>LIKE</> matching (Tom Lane)
+ </para>
+
+ <para>
+ Suitable search patterns and a low stack depth limit could lead to
+ stack-overrun crashes.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix potential infinite loop in regular expression execution (Tom Lane)
+ </para>
+
+ <para>
+ A search pattern that can apparently match a zero-length string, but
+ actually doesn't match because of a back reference, could lead to an
+ infinite loop.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix low-memory failures in regular expression compilation
+ (Andreas Seltenreich)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix low-probability memory leak during regular expression execution
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix rare low-memory failure in lock cleanup during transaction abort
+ (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <quote>unexpected out-of-memory situation during sort</> errors
+ when using tuplestores with small <varname>work_mem</> settings (Tom
+ Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix very-low-probability stack overrun in <function>qsort</> (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <quote>invalid memory alloc request size</> failure in hash joins
+ with large <varname>work_mem</> settings (Tomas Vondra, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix assorted planner bugs (Tom Lane)
+ </para>
+
+ <para>
+ These mistakes could lead to incorrect query plans that would give wrong
+ answers, or to assertion failures in assert-enabled builds, or to odd
+ planner errors such as <quote>could not devise a query plan for the
+ given query</>, <quote>could not find pathkey item to
+ sort</>, <quote>plan should not reference subplan's variable</>,
+ or <quote>failed to assign all NestLoopParams to plan nodes</>.
+ Thanks are due to Andreas Seltenreich and Piotr Stefaniak for fuzz
+ testing that exposed these problems.
+ </para>
+ </listitem>
+
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+Branch: REL9_1_STABLE [3218f8c33] 2015-08-15 11:02:33 -0400
+Branch: REL9_0_STABLE [9d6af7367] 2015-08-15 11:02:34 -0400
+-->
+
+ <listitem>
+ <para>
+ Use fuzzy path cost tiebreaking rule in all supported branches (Tom Lane)
+ </para>
+
+ <para>
+ This change is meant to avoid platform-specific behavior when
+ alternative plan choices have effectively-identical estimated costs.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure standby promotion trigger files are removed at postmaster
+ startup (Michael Paquier, Fujii Masao)
+ </para>
+
+ <para>
+ This prevents unwanted promotion from occurring if these files appear
+ in a database backup that is used to initialize a new standby server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ During postmaster shutdown, ensure that per-socket lock files are
+ removed and listen sockets are closed before we remove
+ the <filename>postmaster.pid</> file (Tom Lane)
+ </para>
+
+ <para>
+ This avoids race-condition failures if an external script attempts to
+ start a new postmaster as soon as <literal>pg_ctl stop</> returns.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix postmaster's handling of a startup-process crash during crash
+ recovery (Tom Lane)
+ </para>
+
+ <para>
+ If, during a crash recovery cycle, the startup process crashes without
+ having restored database consistency, we'd try to launch a new startup
+ process, which typically would just crash again, leading to an infinite
+ loop.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Do not print a <literal>WARNING</> when an autovacuum worker is already
+ gone when we attempt to signal it, and reduce log verbosity for such
+ signals (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent autovacuum launcher from sleeping unduly long if the server
+ clock is moved backwards a large amount (Álvaro Herrera)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that cleanup of a GIN index's pending-insertions list is
+ interruptable by cancel requests (Jeff Janes)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Allow all-zeroes pages in GIN indexes to be reused (Heikki Linnakangas)
+ </para>
+
+ <para>
+ Such a page might be left behind after a crash.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix off-by-one error that led to otherwise-harmless warnings
+ about <quote>apparent wraparound</> in subtrans/multixact truncation
+ (Thomas Munro)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix misreporting of <command>CONTINUE</> and <command>MOVE</> statement
+ types in <application>PL/pgSQL</>'s error context messages
+ (Pavel Stehule, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>PL/Perl</> to handle non-<acronym>ASCII</> error
+ message texts correctly (Alex Hunsaker)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>PL/Python</> crash when returning the string
+ representation of a <type>record</> result (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix some places in <application>PL/Tcl</> that neglected to check for
+ failure of <function>malloc()</> calls (Michael Paquier, Álvaro
+ Herrera)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ In <filename>contrib/isn</>, fix output of ISBN-13 numbers that begin
+ with 979 (Fabien Coelho)
+ </para>
+
+ <para>
+ EANs beginning with 979 (but not 9790) are considered ISBNs, but they
+ must be printed in the new 13-digit format, not the 10-digit format.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Improve <application>libpq</>'s handling of out-of-memory conditions
+ (Michael Paquier, Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix memory leaks and missing out-of-memory checks
+ in <application>ecpg</> (Michael Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>psql</>'s code for locale-aware formatting of numeric
+ output (Tom Lane)
+ </para>
+
+ <para>
+ The formatting code invoked by <literal>\pset numericlocale on</>
+ did the wrong thing for some uncommon cases such as numbers with an
+ exponent but no decimal point. It could also mangle already-localized
+ output from the <type>money</> data type.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Prevent crash in <application>psql</>'s <command>\c</> command when
+ there is no current connection (Noah Misch)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix selection of default <application>zlib</> compression level
+ in <application>pg_dump</>'s directory output format (Andrew Dunstan)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ensure that temporary files created during a <application>pg_dump</>
+ run with <acronym>tar</>-format output are not world-readable (Michael
+ Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dump</> and <application>pg_upgrade</> to support
+ cases where the <literal>postgres</> or <literal>template1</> database
+ is in a non-default tablespace (Marti Raudsepp, Bruce Momjian)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dump</> to handle object privileges sanely when
+ dumping from a server too old to have a particular privilege type
+ (Tom Lane)
+ </para>
+
+ <para>
+ When dumping functions or procedural languages from pre-7.3
+ servers, <application>pg_dump</> would
+ produce <command>GRANT</>/<command>REVOKE</> commands that revoked the
+ owner's grantable privileges and instead granted all privileges
+ to <literal>PUBLIC</>. Since the privileges involved are
+ just <literal>USAGE</> and <literal>EXECUTE</>, this isn't a security
+ problem, but it's certainly a surprising representation of the older
+ systems' behavior. Fix it to leave the default privilege state alone
+ in these cases.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dump</> to dump shell types (Tom Lane)
+ </para>
+
+ <para>
+ Shell types (that is, not-yet-fully-defined types) aren't useful for
+ much, but nonetheless <application>pg_dump</> should dump them.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix assorted minor memory leaks in <application>pg_dump</> and other
+ client-side programs (Michael Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix spinlock assembly code for PPC hardware to be compatible
+ with <acronym>AIX</>'s native assembler (Tom Lane)
+ </para>
+
+ <para>
+ Building with <application>gcc</> didn't work if <application>gcc</>
+ had been configured to use the native assembler, which is becoming more
+ common.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ On <acronym>AIX</>, test the <literal>-qlonglong</> compiler option
+ rather than just assuming it's safe to use (Noah Misch)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ On <acronym>AIX</>, use <literal>-Wl,-brtllib</> link option to allow
+ symbols to be resolved at runtime (Noah Misch)
+ </para>
+
+ <para>
+ Perl relies on this ability in 5.8.0 and later.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid use of inline functions when compiling with
+ 32-bit <application>xlc</>, due to compiler bugs (Noah Misch)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Use <filename>librt</> for <function>sched_yield()</> when necessary,
+ which it is on some Solaris versions (Oskari Saarenmaa)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix Windows <filename>install.bat</> script to handle target directory
+ names that contain spaces (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make the numeric form of the <productname>PostgreSQL</> version number
+ (e.g., <literal>90405</>) readily available to extension Makefiles,
+ as a variable named <varname>VERSION_NUM</> (Michael Paquier)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update time zone data files to <application>tzdata</> release 2015g for
+ DST law changes in Cayman Islands, Fiji, Moldova, Morocco, Norfolk
+ Island, North Korea, Turkey, and Uruguay. There is a new zone name
+ <literal>America/Fort_Nelson</> for the Canadian Northern Rockies.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-1-18">
<title>Release 9.1.18</title>