Skip to content
Snippets Groups Projects
release-9.2.sgml 148 KiB
Newer Older
<!-- doc/src/sgml/release-9.2.sgml -->
<!-- See header comment in release.sgml about typical markup -->

 <sect1 id="release-9-2-6">
  <title>Release 9.2.6</title>

  <note>
  <title>Release Date</title>
  <simpara>2013-12-05</simpara>
  </note>

  <para>
   This release contains a variety of fixes from 9.2.5.
   For information about new features in the 9.2 major release, see
   <xref linkend="release-9-2">.
  </para>

  <sect2>
   <title>Migration to Version 9.2.6</title>

   <para>
    A dump/restore is not required for those running 9.2.X.
   </para>

   <para>
    However, this release corrects a number of potential data corruption
    issues.  See the first two changelog entries below to find out whether
    your installation has been affected and what steps you can take if so.
   </para>

   <para>
    Also, if you are upgrading from a version earlier than 9.2.4,
    see <xref linkend="release-9-2-4">.
   </para>

  </sect2>

  <sect2>
   <title>Changes</title>

   <itemizedlist>

    <listitem>
     <para>
      Fix <command>VACUUM</>'s tests to see whether it can
      update <structfield>relfrozenxid</> (Andres Freund)
     </para>

     <para>
      In some cases <command>VACUUM</> (either manual or autovacuum) could
      incorrectly advance a table's <structfield>relfrozenxid</> value,
      allowing tuples to escape freezing, causing those rows to become
      invisible once 2^31 transactions have elapsed.  The probability of
      data loss is fairly low since multiple incorrect advancements would
      need to happen before actual loss occurs, but it's not zero.  In 9.2.0
      and later, the probability of loss is higher, and it's also possible
      to get <quote>could not access status of transaction</> errors as a
      consequence of this bug.  Users upgrading from releases 9.0.4 or 8.4.8
      or earlier are not affected, but all later versions contain the bug.
     </para>

     <para>
      The issue can be ameliorated by, after upgrading, vacuuming all tables
      in all databases while having <link
      linkend="guc-vacuum-freeze-table-age"><varname>vacuum_freeze_table_age</></link>
      set to zero.  This will fix any latent corruption but will not be able
      to fix all pre-existing data errors.  However, an installation can be
      presumed safe after performing this vacuuming if it has executed fewer
      than 2^31 update transactions in its lifetime (check this with
      <literal>SELECT txid_current() < 2^31</>).
     </para>
    </listitem>

    <listitem>
     <para>
      Fix initialization of <filename>pg_clog</> and <filename>pg_subtrans</>
      during hot standby startup (Andres Freund, Heikki Linnakangas)
     </para>

     <para>
      This bug can cause data loss on standby servers at the moment they
      start to accept hot-standby queries, by marking committed transactions
      as uncommitted. The likelihood of such corruption is small unless, at
      the time of standby startup, the primary server has executed many
      updating transactions since its last checkpoint.  Symptoms include
      missing rows, rows that should have been deleted being still visible,
      and obsolete versions of updated rows being still visible alongside
      their newer versions.
     </para>

     <para>
      This bug was introduced in versions 9.3.0, 9.2.5, 9.1.10, and 9.0.14.
      Standby servers that have only been running earlier releases are not
      at risk.  It's recommended that standby servers that have ever run any
      of the buggy releases be re-cloned from the primary (e.g., with a new
      base backup) after upgrading.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix dangling-pointer problem in fast-path locking (Tom Lane)
     </para>

     <para>
      This could lead to corruption of the lock data structures in shared
      memory, causing <quote>lock already held</> and other odd errors.
     </para>
    </listitem>

    <listitem>
     <para>
      Truncate <filename>pg_multixact</> contents during WAL replay
      (Andres Freund)
     </para>

     <para>
      This avoids ever-increasing disk space consumption in standby servers.
     </para>
    </listitem>

    <listitem>
     <para>
      Ensure an anti-wraparound <command>VACUUM</> counts a page as scanned
      when it's only verified that no tuples need freezing (Sergey
      Burladyan, Jeff Janes)
     </para>

     <para>
      This bug could result in failing to
      advance <structfield>relfrozenxid</>, so that the table would still be
      thought to need another anti-wraparound vacuum.  In the worst case the
      database might even shut down to prevent wraparound.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix race condition in GIN index posting tree page deletion (Heikki
      Linnakangas)
     </para>

     <para>
      This could lead to transient wrong answers or query failures.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <quote>unexpected spgdoinsert() failure</> error during SP-GiST
      index creation (Teodor Sigaev)
     </para>
    </listitem>

    <listitem>
     <para>
      Avoid flattening a subquery whose <literal>SELECT</> list contains a
      volatile function wrapped inside a sub-<literal>SELECT</> (Tom Lane)
     </para>

     <para>
      This avoids unexpected results due to extra evaluations of the
      volatile function.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix planner's processing of non-simple-variable subquery outputs
      nested within outer joins (Tom Lane)
     </para>

     <para>
      This error could lead to incorrect plans for queries involving
      multiple levels of subqueries within <literal>JOIN</> syntax.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix incorrect planning in cases where the same non-strict expression
      appears in multiple <literal>WHERE</> and outer <literal>JOIN</>
      equality clauses (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix planner crash with whole-row reference to a subquery (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix incorrect generation of optimized MIN()/MAX() plans for
      inheritance trees (Tom Lane)
     </para>

     <para>
      The planner could fail in cases where the MIN()/MAX() argument was an
      expression rather than a simple variable.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix premature deletion of temporary files (Andres Freund)
     </para>
    </listitem>

    <listitem>
     <para>
      Prevent intra-transaction memory leak when printing range values
      (Tom Lane)
     </para>

     <para>
      This fix actually cures transient memory leaks in any datatype output
      function, but range types are the only ones known to have had a
      significant problem.
     </para>
    </listitem>

    <listitem>
     <para>
      Prevent incorrect display of dropped columns in NOT NULL and CHECK
      constraint violation messages (Michael Paquier and Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Allow default arguments and named-argument notation for window
      functions (Tom Lane)
     </para>

     <para>
      Previously, these cases were likely to crash.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix possible read past end of memory in rule printing (Peter Eisentraut)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix array slicing of <type>int2vector</> and <type>oidvector</> values
      (Tom Lane)
     </para>

     <para>
      Expressions of this kind are now implicitly promoted to
      regular <type>int2</> or <type>oid</> arrays.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix incorrect behaviors when using a SQL-standard, simple GMT offset
      timezone (Tom Lane)
     </para>

     <para>
      In some cases, the system would use the simple GMT offset value when
      it should have used the regular timezone setting that had prevailed
      before the simple offset was selected.  This change also causes
      the <function>timeofday</> function to honor the simple GMT offset
      zone.
     </para>
    </listitem>

    <listitem>
     <para>
      Prevent possible misbehavior when logging translations of Windows
      error codes (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Properly quote generated command lines in <application>pg_ctl</>
      (Naoya Anzai and Tom Lane)
     </para>

     <para>
      This fix applies only to Windows.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <application>pg_dumpall</> to work when a source database
      sets <link
      linkend="guc-default-transaction-read-only"><varname>default_transaction_read_only</></link>
      via <command>ALTER DATABASE SET</> (Kevin Grittner)
     </para>

     <para>
      Previously, the generated script would fail during restore.
     </para>
    </listitem>

    <listitem>
     <para>
      Make <application>ecpg</> search for quoted cursor names
      case-sensitively (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <application>ecpg</>'s processing of lists of variables
      declared <type>varchar</> (Zolt&aacute;n B&ouml;sz&ouml;rm&eacute;nyi)
     </para>
    </listitem>

    <listitem>
     <para>
      Make <filename>contrib/lo</> defend against incorrect trigger definitions
      (Marc Cousin)
     </para>
    </listitem>

    <listitem>
     <para>
      Update time zone data files to <application>tzdata</> release 2013h
      for DST law changes in Argentina, Brazil, Jordan, Libya,
      Liechtenstein, Morocco, and Palestine.  Also, new timezone
      abbreviations WIB, WIT, WITA for Indonesia.
     </para>
    </listitem>

   </itemizedlist>

  </sect2>
 </sect1>

 <sect1 id="release-9-2-5">
  <title>Release 9.2.5</title>

  <note>
  <title>Release Date</title>
  <simpara>2013-10-10</simpara>
  </note>

  <para>
   This release contains a variety of fixes from 9.2.4.
   For information about new features in the 9.2 major release, see
   <xref linkend="release-9-2">.
  </para>

  <sect2>
   <title>Migration to Version 9.2.5</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.4,
    see <xref linkend="release-9-2-4">.
   </para>

  </sect2>

  <sect2>
   <title>Changes</title>

   <itemizedlist>

    <listitem>
     <para>
      Prevent corruption of multi-byte characters when attempting to
      case-fold identifiers (Andrew Dunstan)
      <productname>PostgreSQL</> case-folds non-ASCII characters only
      when using a single-byte server encoding.
      Fix memory leak when creating B-tree indexes on range columns
      (Heikki Linnakangas)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix checkpoint memory leak in background writer when <literal>wal_level =
      hot_standby</> (Naoya Anzai)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix memory leak caused by <function>lo_open()</function> failure
      (Heikki Linnakangas)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix memory overcommit bug when <varname>work_mem</> is using more
      than 24GB of memory (Stephen Frost)
     </para>
    </listitem>

    <listitem>
     <para>
      Serializable snapshot fixes (Kevin Grittner, Heikki Linnakangas)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix deadlock bug in libpq when using SSL (Stephen Frost)
      Fix possible SSL state corruption in threaded libpq applications
      (Nick Phillips, Stephen Frost)
     </para>
    </listitem>

    <listitem>
     <para>
      Improve estimate of planner cost when choosing between generic and
      custom plans (Tom Lane)
     </para>

     <para>
      This change will favor generic plans when planning cost is high.
     </para>
    </listitem>

    <listitem>
     <para>
      Properly compute row estimates for boolean columns containing many NULL
      values (Andrew Gierth)
     </para>

     <para>
      Previously tests like <literal>col IS NOT TRUE</> and <literal>col IS
      NOT FALSE</> did not properly factor in NULL values when estimating
      plan costs.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix accounting for qualifier evaluation costs in <literal>UNION ALL</>
      and inheritance queries (Tom Lane)
      This fixes cases where suboptimal query plans could be chosen if
      some <literal>WHERE</> clauses are expensive to calculate.
     </para>
    </listitem>

    <listitem>
     <para>
      Prevent pushing down <literal>WHERE</> clauses into unsafe
      <literal>UNION/INTERSECT</> subqueries (Tom Lane)
     </para>

     <para>
      Subqueries of a <literal>UNION</> or <literal>INTERSECT</> that
      contain set-returning functions or volatile functions in their
      <literal>SELECT</> lists could be improperly optimized, leading to
      run-time errors or incorrect query results.
      Fix rare case of <quote>failed to locate grouping columns</>
      planner failure (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <application>pg_dump</> of foreign tables with dropped columns (Andrew Dunstan)
     </para>

     <para>
      Previously such cases could cause a <application>pg_upgrade</> error.
     </para>
    </listitem>

    <listitem>
     <para>
      Reorder <application>pg_dump</> processing of extension-related
      rules and event triggers (Joe Conway)
     </para>
    </listitem>

    <listitem>
     <para>
      Force dumping of extension tables if specified by <command>pg_dump
      -t</> or <literal>-n</> (Joe Conway)
     </para>
    </listitem>

    <listitem>
     <para>
      Improve view dumping code's handling of dropped columns in referenced
      tables (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <command>pg_restore -l</> with the directory archive to display
      the correct format name (Fujii Masao)
     </para>
    </listitem>

    <listitem>
     <para>
      Properly record index comments created using <literal>UNIQUE</>
      and <literal>PRIMARY KEY</> syntax (Andres Freund)
     </para>

     <para>
      This fixes a parallel <application>pg_restore</> failure.
     </para>
    </listitem>

    <listitem>
     <para>
      Cause <command>pg_basebackup -x</> with an empty xlog directory
      to throw an error rather than crashing (Magnus Hagander, Haruka
      Takatsuka)
     </para>
    </listitem>

    <listitem>
     <para>
      Properly guarantee transmission of WAL files before clean switchover
      (Fujii Masao)
     </para>

     <para>
      Previously, the streaming replication connection might close before all
      WAL files had been replayed on the standby.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix WAL segment timeline handling during recovery (Mitsumasa Kondo,
      Heikki Linnakangas)
     </para>

     <para>
      WAL file recycling during standby recovery could lead to premature
      recovery completion, resulting in data loss.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <command>REINDEX TABLE</> and <command>REINDEX DATABASE</>
      to properly revalidate constraints and mark invalidated indexes as
      valid (Noah Misch)
     </para>

     <para>
      <command>REINDEX INDEX</> has always worked properly.
     </para>
    </listitem>

    <listitem>
     <para>
      Avoid deadlocks during insertion into SP-GiST indexes (Teodor Sigaev)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix possible deadlock during concurrent <command>CREATE INDEX
      CONCURRENTLY</> operations (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix GiST index lookup crash (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <function>regexp_matches()</> handling of zero-length matches
      (Jeevan Chalke)
     </para>

     <para>
      Previously, zero-length matches like '^' could return too many matches.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix crash for overly-complex regular expressions (Heikki Linnakangas)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix regular expression match failures for back references combined with
      non-greedy quantifiers (Jeevan Chalke)
     </para>
    </listitem>

    <listitem>
     <para>
      Prevent <command>CREATE FUNCTION</> from checking <command>SET</>
      variables unless function body checking is enabled (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Allow <command>ALTER DEFAULT PRIVILEGES</> to operate on schemas
      without requiring CREATE permission (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Loosen restriction on keywords used in queries (Tom Lane)
     </para>

     <para>
      Specifically, lessen keyword restrictions for role names, language
      names, <command>EXPLAIN</> and <command>COPY</> options, and
      <command>SET</> values.  This allows <literal>COPY ... (FORMAT
      BINARY)</> to work as expected; previously <literal>BINARY</> needed
      to be quoted.
     </para>
    </listitem>

    <listitem>
     <para>
      Print proper line number during <command>COPY</> failure (Heikki
      Linnakangas)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <function>pgp_pub_decrypt()</> so it works for secret keys with
      passwords (Marko Kreen)
     </para>
    </listitem>

    <listitem>
     <para>
      Make <application>pg_upgrade</> use <literal>pg_dump
      --quote-all-identifiers</> to avoid problems with keyword changes
      between releases (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Remove rare inaccurate warning during vacuum of index-less tables
      (Heikki Linnakangas)
     </para>
    </listitem>

    <listitem>
     <para>
      Ensure that <command>VACUUM ANALYZE</> still runs the ANALYZE phase
      if its attempt to truncate the file is cancelled due to lock conflicts
      (Kevin Grittner)
     </para>
    </listitem>

    <listitem>
     <para>
      Avoid possible failure when performing transaction control commands (e.g
      <command>ROLLBACK</>) in prepared queries (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Ensure that floating-point data input accepts standard spellings
      of <quote>infinity</> on all platforms (Tom Lane)
      The C99 standard says that allowable spellings are <literal>inf</>,
      <literal>+inf</>, <literal>-inf</>, <literal>infinity</>,
      <literal>+infinity</>, and <literal>-infinity</>.  Make sure we
      recognize these even if the platform's <function>strtod</> function
      doesn't.
     </para>
    </listitem>

    <listitem>
     <para>
      Avoid unnecessary reporting when <varname>track_activities</> is off
      (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Expand ability to compare rows to records and arrays (Rafal Rzepecki,
      Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Prevent crash when <application>psql</>'s <envar>PSQLRC</> variable
      contains a tilde (Bruce Momjian)
     </para>
    </listitem>

    <listitem>
     <para>
      Add spinlock support for ARM64 (Mark Salter)
     </para>
    </listitem>

    <listitem>
     <para>
      Update time zone data files to <application>tzdata</> release 2013d
      for DST law changes in Israel, Morocco, Palestine, and Paraguay.
      Also, historical zone data corrections for Macquarie Island.
 <sect1 id="release-9-2-4">
  <title>Release 9.2.4</title>

  <note>
  <title>Release Date</title>
  <simpara>2013-04-04</simpara>
  </note>

  <para>
   This release contains a variety of fixes from 9.2.3.
   For information about new features in the 9.2 major release, see
   <xref linkend="release-9-2">.
  </para>

  <sect2>
   <title>Migration to Version 9.2.4</title>

   <para>
    A dump/restore is not required for those running 9.2.X.
   </para>

   <para>
    However, this release corrects several errors in management of GiST
    indexes.  After installing this update, it is advisable to
    <command>REINDEX</> any GiST indexes that meet one or more of the
    conditions described below.
   </para>

   <para>
    Also, if you are upgrading from a version earlier than 9.2.2,
    see <xref linkend="release-9-2-2">.
   </para>

  </sect2>

  <sect2>
   <title>Changes</title>

   <itemizedlist>

    <listitem>
     <para>
      Fix insecure parsing of server command-line switches (Mitsumasa
      Kondo, Kyotaro Horiguchi)
     </para>

     <para>
      A connection request containing a database name that begins with
      <quote><literal>-</></quote> could be crafted to damage or destroy
      files within the server's data directory, even if the request is
      eventually rejected.  (CVE-2013-1899)
     </para>
    </listitem>

    <listitem>
     <para>
      Reset OpenSSL randomness state in each postmaster child process
      (Marko Kreen)
     </para>

     <para>
      This avoids a scenario wherein random numbers generated by
      <filename>contrib/pgcrypto</> functions might be relatively easy for
      another database user to guess.  The risk is only significant when
      the postmaster is configured with <varname>ssl</> = <literal>on</>
      but most connections don't use SSL encryption.  (CVE-2013-1900)
     </para>
    </listitem>

    <listitem>
     <para>
      Make REPLICATION privilege checks test current user not authenticated
      user (Noah Misch)
     </para>

     <para>
      An unprivileged database user could exploit this mistake to call
      <function>pg_start_backup()</> or <function>pg_stop_backup()</>,
      thus possibly interfering with creation of routine backups.
      (CVE-2013-1901)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix GiST indexes to not use <quote>fuzzy</> geometric comparisons when
      it's not appropriate to do so (Alexander Korotkov)
     </para>

     <para>
      The core geometric types perform comparisons using <quote>fuzzy</>
      equality, but <function>gist_box_same</> must do exact comparisons,
      else GiST indexes using it might become inconsistent.  After installing
      this update, users should <command>REINDEX</> any GiST indexes on
      <type>box</>, <type>polygon</>, <type>circle</>, or <type>point</>
      columns, since all of these use <function>gist_box_same</>.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix erroneous range-union and penalty logic in GiST indexes that use
      <filename>contrib/btree_gist</> for variable-width data types, that is
      <type>text</>, <type>bytea</>, <type>bit</>, and <type>numeric</>
      columns (Tom Lane)
     </para>

     <para>
      These errors could result in inconsistent indexes in which some keys
      that are present would not be found by searches, and also in useless
      index bloat.  Users are advised to <command>REINDEX</> such indexes
      after installing this update.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix bugs in GiST page splitting code for multi-column indexes
      (Tom Lane)
     </para>

     <para>
      These errors could result in inconsistent indexes in which some keys
      that are present would not be found by searches, and also in indexes
      that are unnecessarily inefficient to search.  Users are advised to
      <command>REINDEX</> multi-column GiST indexes after installing this
      update.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <function>gist_point_consistent</>
      to handle fuzziness consistently (Alexander Korotkov)
     </para>

     <para>
      Index scans on GiST indexes on <type>point</> columns would sometimes
      yield results different from a sequential scan, because
      <function>gist_point_consistent</> disagreed with the underlying
      operator code about whether to do comparisons exactly or fuzzily.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix buffer leak in WAL replay (Heikki Linnakangas)
     </para>

     <para>
      This bug could result in <quote>incorrect local pin count</> errors
      during replay, making recovery impossible.
     </para>
    </listitem>

    <listitem>
     <para>
      Ensure we do crash recovery before entering archive recovery, if the
      database was not stopped cleanly and a <filename>recovery.conf</> file
      is present (Heikki Linnakangas, Kyotaro Horiguchi, Mitsumasa Kondo)
     </para>

     <para>
      This is needed to ensure that the database is consistent in certain
      scenarios, such as initializing a standby server with a filesystem
      snapshot from a running server.
     </para>
    </listitem>

    <listitem>
     <para>
      Avoid deleting not-yet-archived WAL files during crash recovery
      (Heikki Linnakangas, Fujii Masao)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix race condition in <command>DELETE RETURNING</> (Tom Lane)
     </para>

     <para>
      Under the right circumstances, <command>DELETE RETURNING</> could
      attempt to fetch data from a shared buffer that the current process
      no longer has any pin on.  If some other process changed the buffer
      meanwhile, this would lead to garbage <literal>RETURNING</> output, or
      even a crash.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix infinite-loop risk in regular expression compilation (Tom Lane,
      Don Porter)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix potential null-pointer dereference in regular expression compilation
      (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix <function>to_char()</> to use ASCII-only case-folding rules where
      appropriate (Tom Lane)
     </para>

     <para>
      This fixes misbehavior of some template patterns that should be
      locale-independent, but mishandled <quote><literal>I</></quote> and
      <quote><literal>i</></quote> in Turkish locales.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix unwanted rejection of timestamp <literal>1999-12-31 24:00:00</>
      (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix SQL-language functions to be safely usable as support
      functions for range types (Tom Lane)
     </para>
    </listitem>

    <listitem>
     <para>
      Fix logic error when a single transaction does <command>UNLISTEN</>
      then <command>LISTEN</> (Tom Lane)
     </para>

     <para>
      The session wound up not listening for notify events at all, though it
      surely should listen in this case.
     </para>
    </listitem>

    <listitem>
     <para>
      Fix possible planner crash after columns have been added to a view
      that's depended on by another view (Tom Lane)
     </para>