mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Release notes for 9.5beta1, 9.4.5, 9.3.10, 9.2.14, 9.1.19, 9.0.23.
This commit is contained in:
		@@ -1,6 +1,481 @@
 | 
			
		||||
<!-- 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>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,545 @@
 | 
			
		||||
<!-- 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>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user