-<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.4.sgml,v 1.3 2009/05/11 09:11:41 mha Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release-8.4.sgml,v 1.4 2009/05/12 23:43:50 tgl Exp $ -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-8-4">
<note>
<title>Release date</title>
- <simpara>2009-??-??, ITEMS CURRENT AS OF 2009-04-08</simpara>
+ <simpara>2009-??-??, ITEMS CURRENT AS OF 2009-05-11</simpara>
</note>
<sect2>
</para>
</listitem>
+ <listitem>
+ <para>
+ Change default setting for <literal>max_prepared_transactions</> to
+ zero (previously it was 5) (Tom)
+ </para>
+ </listitem>
+
<listitem>
<para>
Make <literal>debug_print_parse</>, <literal>debug_print_rewritten</>,
<title>Authentication and security</title>
<itemizedlist>
- <listitem>
- <para>
- Report appropriate error message for combination of <literal>MD5</>
- authentication and <varname>db_user_namespace</> enabled (Bruce)
- </para>
- </listitem>
-
<listitem>
<para>
Remove support for the (insecure) <literal>crypt</> authentication method
commercial CAs.
</para>
</listitem>
+
+ <listitem>
+ <para>
+ Report appropriate error message for combination of <literal>MD5</>
+ authentication and <varname>db_user_namespace</> enabled (Bruce)
+ </para>
+ </listitem>
</itemizedlist>
</sect4>
<listitem>
<para>
- Parse <filename>pg_hba.conf</> fully when it is loaded,
- so that errors are reported immediately (Magnus)
+ Change all authentication options to use <literal>name=value</>
+ syntax (Magnus)
</para>
<para>
- Previously, most errors in the file wouldn't be detected until clients
- tried to connect, so an erroneous file could render the system
- unusable. With the new behavior, if an error is detected during
- reload then the bad file is rejected and the postmaster continues
- to use its old copy.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Show all parsing errors in <filename>pg_hba.conf</> instead of
- aborting after the first one (Selena Deckelmann)
+ This makes incompatible changes to the <literal>ldap</>,
+ <literal>pam</> and <literal>ident</> authentication methods. All
+ <filename>pg_hba.conf</> entries with these methods need to be
+ rewritten using the new format.
</para>
</listitem>
</para>
</listitem>
- <listitem>
- <para>
- Change all authentication options to use <literal>name=value</>
- syntax (Magnus)
- </para>
-
- <para>
- This makes incompatible changes to the <literal>ldap</>,
- <literal>pam</> and <literal>ident</> authentication methods. All
- <filename>pg_hba.conf</> entries with these methods need to be
- rewritten using the new format.
- </para>
- </listitem>
-
<listitem>
<para>
Allow a usermap parameter for all external authentication methods
</para>
</listitem>
+ <listitem>
+ <para>
+ Parse <filename>pg_hba.conf</> fully when it is loaded,
+ so that errors are reported immediately (Magnus)
+ </para>
+
+ <para>
+ Previously, most errors in the file wouldn't be detected until clients
+ tried to connect, so an erroneous file could render the system
+ unusable. With the new behavior, if an error is detected during
+ reload then the bad file is rejected and the postmaster continues
+ to use its old copy.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Show all parsing errors in <filename>pg_hba.conf</> instead of
+ aborting after the first one (Selena Deckelmann)
+ </para>
+ </listitem>
+
<listitem>
<para>
Support <literal>ident</> authentication over Unix-domain sockets
</para>
</listitem>
+ <listitem>
+ <para>
+ Reject <literal>\000</> in string literals and <command>COPY</> data
+ (Tom)
+ </para>
+
+ <para>
+ Previously, this was accepted but had the effect of terminating
+ the string contents.
+ </para>
+ </listitem>
+
<listitem>
<para>
Improve the parser's ability to report error locations (Tom)
<para>
Improve checks that the database encoding, collation
(<varname>LC_COLLATE</>), and character classes
- (<varname>LC_CTYPE</>) match (Heikki)
+ (<varname>LC_CTYPE</>) match (Heikki, Tom)
+ </para>
+
+ <para>
+ Note in particular that a new database's encoding and locale
+ settings can be changed only when copying from <literal>template0</>.
+ This prevents possibly copying data that doesn't match the settings.
</para>
</listitem>
</para>
</listitem>
+ <listitem>
+ <para>
+ Make <command>EXIT</> without a label always exit the innermost
+ loop (Tom)
+ </para>
+
+ <para>
+ Formerly, if there were a <literal>BEGIN</> block more closely nested
+ than any loop, it would exit that block instead. The new behavior
+ matches Oracle(TM) and is also what was previously stated by our own
+ documentation.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Make processing of string literals and nested block comments
+ match the main SQL parser's processing (Tom)
+ </para>
+ </listitem>
+
<listitem>
<para>
Avoid memory leakage when the same function is called at varying
</para>
</listitem>
+ <listitem>
+ <para>
+ Add a function type column to <command>\df</>'s output, and add
+ options to list only selected types of functions (David Fetter)
+ </para>
+ </listitem>
+
<listitem>
<para>
Make <command>\df</> not hide functions that take or return
<listitem>
<para>
- Make Kerberos use the same method to determine the username of the
- client as all other authentication methods (Magnus)
+ Make Kerberos connections use the same method to determine the
+ username of the client as all other authentication methods (Magnus)
</para>
<para>
and the name of the server when making <acronym>SSL</>
connections. If a root certificate is not available to use for
verification, <acronym>SSL</> connections will fail. The
- <literal>sslmode</> parameter is used to enable the certificate
- verification and set the level.
- </para>
-
- <para>
+ <literal>sslmode</> parameter is used to enable certificate
+ verification and set the level of checking.
The default is still not to do any verification, allowing connections
- to SSL enabled servers without requiring a root certificate on the
+ to SSL-enabled servers without requiring a root certificate on the
client.
</para>
</listitem>
</para>
</listitem>
+ <listitem>
+ <para>
+ Recover better if dynamically-loaded code executes <function>exit()</>
+ (Tom)
+ </para>
+ </listitem>
+
<listitem>
<para>
Add a hook to let plug-ins monitor the executor (Itagaki
</para>
</listitem>
+ <listitem>
+ <para>
+ Make <filename>contrib/pgbench</> use table names
+ <structname>pgbench_accounts</>, <structname>pgbench_branches</>,
+ <structname>pgbench_history</>, and <structname>pgbench_tellers</>,
+ rather than just <structname>accounts</>, <structname>branches</>,
+ <structname>history</>, and <structname>tellers</> (Tom)
+ </para>
+
+ <para>
+ This is to reduce the risk of accidentally destroying real data
+ by running <application>pgbench</>.
+ </para>
+ </listitem>
+
<listitem>
<para>
Fix <filename>contrib/pgstattuple</> to handle tables and