<!-- doc/src/sgml/release-8.4.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-8-4-17">
+ <title>Release 8.4.17</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-04-04</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 8.4.16.
+ For information about new features in the 8.4 major release, see
+ <xref linkend="release-8-4">.
+ </para>
+
+ <sect2>
+ <title>Migration to Version 8.4.17</title>
+
+ <para>
+ A dump/restore is not required for those running 8.4.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 8.4.10,
+ see the release notes for 8.4.10.
+ </para>
+
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <itemizedlist>
+
+ <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>
+ 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 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>
+ Remove useless <quote>picksplit doesn't support secondary split</> log
+ messages (Josh Hansen, Tom Lane)
+ </para>
+
+ <para>
+ This message seems to have been added in expectation of code that was
+ never written, and probably never will be, since GiST's default
+ handling of secondary splits is actually pretty good. So stop nagging
+ end users about it.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible failure to send a session's last few transaction
+ commit/abort counts to the statistics collector (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Eliminate memory leaks in PL/Perl's <function>spi_prepare()</> function
+ (Alex Hunsaker, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dumpall</> to handle database names containing
+ <quote><literal>=</></quote> correctly (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid crash in <application>pg_dump</> when an incorrect connection
+ string is given (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ignore invalid indexes in <application>pg_dump</> (Michael Paquier)
+ </para>
+
+ <para>
+ Dumping invalid indexes can cause problems at restore time, for example
+ if the reason the index creation failed was because it tried to enforce
+ a uniqueness condition not satisfied by the table's data. Also, if the
+ index creation is in fact still in progress, it seems reasonable to
+ consider it to be an uncommitted DDL change, which
+ <application>pg_dump</> wouldn't be expected to dump anyway.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <filename>contrib/pg_trgm</>'s <function>similarity()</> function
+ to return zero for trigram-less strings (Tom Lane)
+ </para>
+
+ <para>
+ Previously it returned <literal>NaN</> due to internal division by zero.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update time zone data files to <application>tzdata</> release 2013b
+ for DST law changes in Chile, Haiti, Morocco, Paraguay, and some
+ Russian areas. Also, historical zone data corrections for numerous
+ places.
+ </para>
+
+ <para>
+ Also, update the time zone abbreviation files for recent changes in
+ Russia and elsewhere: <literal>CHOT</>, <literal>GET</>,
+ <literal>IRKT</>, <literal>KGT</>, <literal>KRAT</>, <literal>MAGT</>,
+ <literal>MAWT</>, <literal>MSK</>, <literal>NOVT</>, <literal>OMST</>,
+ <literal>TKT</>, <literal>VLAT</>, <literal>WST</>, <literal>YAKT</>,
+ <literal>YEKT</> now follow their current meanings, and
+ <literal>VOLT</> (Europe/Volgograd) and <literal>MIST</>
+ (Antarctica/Macquarie) are added to the default abbreviations list.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-8-4-16">
<title>Release 8.4.16</title>
</para>
<para>
- The main consequence of this mistake is that lowering <link
+ In installations that have existed for more than <link
linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
- would cause full-table vacuuming scans to occur much more frequently
- than intended.
+ transactions, this mistake prevented autovacuum from using partial-table
+ scans, so that a full-table scan would always happen instead.
</para>
</listitem>
<!-- doc/src/sgml/release-9.0.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-0-13">
+ <title>Release 9.0.13</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-04-04</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.0.12.
+ For information about new features in the 9.0 major release, see
+ <xref linkend="release-9-0">.
+ </para>
+
+ <sect2>
+ <title>Migration to Version 9.0.13</title>
+
+ <para>
+ A dump/restore is not required for those running 9.0.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.0.6,
+ see the release notes for 9.0.6.
+ </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>
+ 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>
+ 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 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>
+ Remove useless <quote>picksplit doesn't support secondary split</> log
+ messages (Josh Hansen, Tom Lane)
+ </para>
+
+ <para>
+ This message seems to have been added in expectation of code that was
+ never written, and probably never will be, since GiST's default
+ handling of secondary splits is actually pretty good. So stop nagging
+ end users about it.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible failure to send a session's last few transaction
+ commit/abort counts to the statistics collector (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Eliminate memory leaks in PL/Perl's <function>spi_prepare()</> function
+ (Alex Hunsaker, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dumpall</> to handle database names containing
+ <quote><literal>=</></quote> correctly (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid crash in <application>pg_dump</> when an incorrect connection
+ string is given (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ignore invalid indexes in <application>pg_dump</> and
+ <application>pg_upgrade</> (Michael Paquier, Bruce Momjian)
+ </para>
+
+ <para>
+ Dumping invalid indexes can cause problems at restore time, for example
+ if the reason the index creation failed was because it tried to enforce
+ a uniqueness condition not satisfied by the table's data. Also, if the
+ index creation is in fact still in progress, it seems reasonable to
+ consider it to be an uncommitted DDL change, which
+ <application>pg_dump</> wouldn't be expected to dump anyway.
+ <application>pg_upgrade</> now also skips invalid indexes rather than
+ failing.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <filename>contrib/pg_trgm</>'s <function>similarity()</> function
+ to return zero for trigram-less strings (Tom Lane)
+ </para>
+
+ <para>
+ Previously it returned <literal>NaN</> due to internal division by zero.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update time zone data files to <application>tzdata</> release 2013b
+ for DST law changes in Chile, Haiti, Morocco, Paraguay, and some
+ Russian areas. Also, historical zone data corrections for numerous
+ places.
+ </para>
+
+ <para>
+ Also, update the time zone abbreviation files for recent changes in
+ Russia and elsewhere: <literal>CHOT</>, <literal>GET</>,
+ <literal>IRKT</>, <literal>KGT</>, <literal>KRAT</>, <literal>MAGT</>,
+ <literal>MAWT</>, <literal>MSK</>, <literal>NOVT</>, <literal>OMST</>,
+ <literal>TKT</>, <literal>VLAT</>, <literal>WST</>, <literal>YAKT</>,
+ <literal>YEKT</> now follow their current meanings, and
+ <literal>VOLT</> (Europe/Volgograd) and <literal>MIST</>
+ (Antarctica/Macquarie) are added to the default abbreviations list.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-0-12">
<title>Release 9.0.12</title>
</para>
<para>
- The main consequence of this mistake is that lowering <link
+ In installations that have existed for more than <link
linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
- would cause full-table vacuuming scans to occur much more frequently
- than intended.
+ transactions, this mistake prevented autovacuum from using partial-table
+ scans, so that a full-table scan would always happen instead.
</para>
</listitem>
<!-- doc/src/sgml/release-9.1.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <sect1 id="release-9-1-9">
+ <title>Release 9.1.9</title>
+
+ <note>
+ <title>Release Date</title>
+ <simpara>2013-04-04</simpara>
+ </note>
+
+ <para>
+ This release contains a variety of fixes from 9.1.8.
+ 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.9</title>
+
+ <para>
+ A dump/restore is not required for those running 9.1.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.1.6,
+ see the release notes for 9.1.6.
+ </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>
+ 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 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>
+ </listitem>
+
+ <listitem>
+ <para>
+ Remove useless <quote>picksplit doesn't support secondary split</> log
+ messages (Josh Hansen, Tom Lane)
+ </para>
+
+ <para>
+ This message seems to have been added in expectation of code that was
+ never written, and probably never will be, since GiST's default
+ handling of secondary splits is actually pretty good. So stop nagging
+ end users about it.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible failure to send a session's last few transaction
+ commit/abort counts to the statistics collector (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Eliminate memory leaks in PL/Perl's <function>spi_prepare()</> function
+ (Alex Hunsaker, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dumpall</> to handle database names containing
+ <quote><literal>=</></quote> correctly (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid crash in <application>pg_dump</> when an incorrect connection
+ string is given (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ignore invalid indexes in <application>pg_dump</> and
+ <application>pg_upgrade</> (Michael Paquier, Bruce Momjian)
+ </para>
+
+ <para>
+ Dumping invalid indexes can cause problems at restore time, for example
+ if the reason the index creation failed was because it tried to enforce
+ a uniqueness condition not satisfied by the table's data. Also, if the
+ index creation is in fact still in progress, it seems reasonable to
+ consider it to be an uncommitted DDL change, which
+ <application>pg_dump</> wouldn't be expected to dump anyway.
+ <application>pg_upgrade</> now also skips invalid indexes rather than
+ failing.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ In <application>pg_basebackup</>, include only the current server
+ version's subdirectory when backing up a tablespace (Heikki
+ Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add a server version check in <application>pg_basebackup</> and
+ <application>pg_receivexlog</>, so they fail cleanly with version
+ combinations that won't work (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <filename>contrib/pg_trgm</>'s <function>similarity()</> function
+ to return zero for trigram-less strings (Tom Lane)
+ </para>
+
+ <para>
+ Previously it returned <literal>NaN</> due to internal division by zero.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update time zone data files to <application>tzdata</> release 2013b
+ for DST law changes in Chile, Haiti, Morocco, Paraguay, and some
+ Russian areas. Also, historical zone data corrections for numerous
+ places.
+ </para>
+
+ <para>
+ Also, update the time zone abbreviation files for recent changes in
+ Russia and elsewhere: <literal>CHOT</>, <literal>GET</>,
+ <literal>IRKT</>, <literal>KGT</>, <literal>KRAT</>, <literal>MAGT</>,
+ <literal>MAWT</>, <literal>MSK</>, <literal>NOVT</>, <literal>OMST</>,
+ <literal>TKT</>, <literal>VLAT</>, <literal>WST</>, <literal>YAKT</>,
+ <literal>YEKT</> now follow their current meanings, and
+ <literal>VOLT</> (Europe/Volgograd) and <literal>MIST</>
+ (Antarctica/Macquarie) are added to the default abbreviations list.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-1-8">
<title>Release 9.1.8</title>
</para>
<para>
- The main consequence of this mistake is that lowering <link
+ In installations that have existed for more than <link
linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
- would cause full-table vacuuming scans to occur much more frequently
- than intended.
+ transactions, this mistake prevented autovacuum from using partial-table
+ scans, so that a full-table scan would always happen instead.
</para>
</listitem>
<!-- doc/src/sgml/release-9.2.sgml -->
<!-- See header comment in release.sgml about typical markup -->
+ <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 the release notes for 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>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix performance issue in <literal>EXPLAIN (ANALYZE, TIMING OFF)</>
+ (Pavel Stehule)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Remove useless <quote>picksplit doesn't support secondary split</> log
+ messages (Josh Hansen, Tom Lane)
+ </para>
+
+ <para>
+ This message seems to have been added in expectation of code that was
+ never written, and probably never will be, since GiST's default
+ handling of secondary splits is actually pretty good. So stop nagging
+ end users about it.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Remove vestigial secondary-split support in
+ <function>gist_box_picksplit()</> (Tom Lane)
+ </para>
+
+ <para>
+ Not only was this implementation of secondary-split not better than the
+ default implementation, it's actually worse. So remove it and let the
+ default code path handle the case.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix possible failure to send a session's last few transaction
+ commit/abort counts to the statistics collector (Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Eliminate memory leaks in PL/Perl's <function>spi_prepare()</> function
+ (Alex Hunsaker, Tom Lane)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <application>pg_dumpall</> to handle database names containing
+ <quote><literal>=</></quote> correctly (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Avoid crash in <application>pg_dump</> when an incorrect connection
+ string is given (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ignore invalid indexes in <application>pg_dump</> and
+ <application>pg_upgrade</> (Michael Paquier, Bruce Momjian)
+ </para>
+
+ <para>
+ Dumping invalid indexes can cause problems at restore time, for example
+ if the reason the index creation failed was because it tried to enforce
+ a uniqueness condition not satisfied by the table's data. Also, if the
+ index creation is in fact still in progress, it seems reasonable to
+ consider it to be an uncommitted DDL change, which
+ <application>pg_dump</> wouldn't be expected to dump anyway.
+ <application>pg_upgrade</> now also skips invalid indexes rather than
+ failing.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ In <application>pg_basebackup</>, include only the current server
+ version's subdirectory when backing up a tablespace (Heikki
+ Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add a server version check in <application>pg_basebackup</> and
+ <application>pg_receivexlog</>, so they fail cleanly with version
+ combinations that won't work (Heikki Linnakangas)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <filename>contrib/dblink</> to handle inconsistent settings of
+ <varname>DateStyle</> or <varname>IntervalStyle</> safely (Daniel
+ Farina, Tom Lane)
+ </para>
+
+ <para>
+ Previously, if the remote server had different settings of these
+ parameters, ambiguous dates might be read incorrectly. This fix
+ ensures that datetime and interval columns fetched by a
+ <filename>dblink</> query will be interpreted correctly. Note however
+ that inconsistent settings are still risky, since literal values
+ appearing in SQL commands sent to the remote server might be
+ interpreted differently than they would be locally.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fix <filename>contrib/pg_trgm</>'s <function>similarity()</> function
+ to return zero for trigram-less strings (Tom Lane)
+ </para>
+
+ <para>
+ Previously it returned <literal>NaN</> due to internal division by zero.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Enable building <productname>PostgreSQL</> with Microsoft Visual
+ Studio 2012 (Brar Piening, Noah Misch)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Update time zone data files to <application>tzdata</> release 2013b
+ for DST law changes in Chile, Haiti, Morocco, Paraguay, and some
+ Russian areas. Also, historical zone data corrections for numerous
+ places.
+ </para>
+
+ <para>
+ Also, update the time zone abbreviation files for recent changes in
+ Russia and elsewhere: <literal>CHOT</>, <literal>GET</>,
+ <literal>IRKT</>, <literal>KGT</>, <literal>KRAT</>, <literal>MAGT</>,
+ <literal>MAWT</>, <literal>MSK</>, <literal>NOVT</>, <literal>OMST</>,
+ <literal>TKT</>, <literal>VLAT</>, <literal>WST</>, <literal>YAKT</>,
+ <literal>YEKT</> now follow their current meanings, and
+ <literal>VOLT</> (Europe/Volgograd) and <literal>MIST</>
+ (Antarctica/Macquarie) are added to the default abbreviations list.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </sect2>
+ </sect1>
+
<sect1 id="release-9-2-3">
<title>Release 9.2.3</title>
</para>
<para>
- The main consequence of this mistake is that lowering <link
+ In installations that have existed for more than <link
linkend="guc-vacuum-freeze-min-age"><varname>vacuum_freeze_min_age</></link>
- would cause full-table vacuuming scans to occur much more frequently
- than intended.
+ transactions, this mistake prevented autovacuum from using partial-table
+ scans, so that a full-table scan would always happen instead.
</para>
</listitem>
<listitem>
<para>
- Fix <application>pg_upgrade</>'s -O/-o options (Bruce Momjian)
+ Fix <application>pg_upgrade</>'s -O/-o options (Marti Raudsepp)
</para>
</listitem>