-<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.548 2007/11/20 01:42:37 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.549 2007/11/20 03:34:14 momjian Exp $ -->
<!--
Typical markup:
</para>
</listitem>
+ <listitem>
+ <para>
+ <command>ROLLBACK</> outside a transaction block now
+ issues <literal>NOTICE</> instead of <literal>WARNING</> (Bruce)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Restrict object size functions to users who have reasonable
+ permissions to view such information (Tom)
+ </para>
+
+ <para>
+ For example, <function>pg_database_size()</function> now requires
+ <literal>CONNECT</> permission, which is granted to everyone by
+ default. <function>pg_tablespace_size()</function> requires
+ <literal>CREATE</> permission in the tablespace, or is allowed if
+ the tablespace is the default tablespace for the database.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Internal hashing functions are now more uniformly-distributed (Tom)
+ </para>
+
+ <para>
+ If application code was computing and storing hash values using
+ internal <productname>PostgreSQL</> hashing functions, the hash
+ values must be regenerated.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>ALTER SEQUENCE</> no longer affects <function>currval()</>
+ (Tom)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Foreign keys now must match indexable conditions for
+ cross-data-type references (Tom)
+ </para>
+
+ <para>
+ This improves semantic consistency and helps avoid
+ performance problems.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Remove the undocumented <literal>!!=</> (not in) operator (Tom)
+ </para>
+
+ <para>
+ <literal>NOT IN (SELECT ...)</literal> is the proper way to
+ perform this operation.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Remove <varname>stats_start_collector</varname> parameter (Tom)
+ </para>
+
+ <para>
+ We now always start the collector process, unless <acronym>UDP</>
+ socket creation fails.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Remove <varname>stats_reset_on_server_start</varname> parameter (Tom)
+ </para>
+
+ <para>
+ This was removed because <function>pg_stat_reset()</function>
+ can be used for this purpose.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ C-code conventions for handling variable-length data values
+ have changed (Greg Stark, Tom)
+ </para>
+
+ <para>
+ The new <function>SET_VARSIZE()</> macro <emphasis>must</> be used
+ to set the length of generated <type>varlena</> values. Also, it
+ might be necessary to expand (<quote>de-TOAST</quote>) input values
+ in more cases.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+
+ <para>
+ The following incompatibilities relate to character encodings:
+ </para>
+
+ <itemizedlist>
+
<listitem>
<para>
Add more checks for invalidly-encoded data (Andrew)
<listitem>
<para>
- Restrict object size functions to users who have reasonable
- permissions to view such information (Tom)
- </para>
-
- <para>
- For example, <function>pg_database_size()</function> now requires
- <literal>CONNECT</> permission, which is granted to everyone by
- default. <function>pg_tablespace_size()</function> requires
- <literal>CREATE</> permission in the tablespace, or is allowed if
- the tablespace is the default tablespace for the database.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Internal hashing functions are now more uniformly-distributed (Tom)
- </para>
-
- <para>
- If application code was computing and storing hash values using
- internal <productname>PostgreSQL</> hashing functions, the hash
- values must be regenerated.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <command>ALTER SEQUENCE</> no longer affects <function>currval()</>
- (Tom)
+ Make JOHAB encoding client-only (Tatsuo)
</para>
- </listitem>
- <listitem>
<para>
- <command>ROLLBACK</> outside a transaction block now
- issues <literal>NOTICE</> instead of <literal>WARNING</> (Bruce)
- </para>
- </listitem>
-
- <listitem>
- <para>
- C-code conventions for handling variable-length data values
- have changed (Greg Stark, Tom)
- </para>
-
- <para>
- The new <function>SET_VARSIZE()</> macro <emphasis>must</> be used
- to set the length of generated <type>varlena</> values. Also, it
- might be necessary to expand (<quote>de-TOAST</quote>) input values
- in more cases.
+ JOHAB is not safe as a server-side encoding.
</para>
</listitem>
</itemizedlist>
+
</sect2>
<sect2>
</para>
<sect3>
- <title>Performance Improvements</title>
+ <title>Performance</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>General Server Changes</title>
+ <title>Server</title>
<itemizedlist>
<listitem>
</para>
</listitem>
- <listitem>
- <para>
- Limit the amount of information reported when a user is dropped
- (Alvaro)
- </para>
-
- <para>
- Previously, dropping (or attempting to drop) a user who owned many
- objects could result in large <literal>NOTICE</literal> or
- <literal>ERROR</literal> messages listing all these objects; this
- caused problems for some client applications. The length of the
- message is now limited, although a full list is still sent to the
- server log.
- </para>
- </listitem>
-
<listitem>
<para>
Place temporary tables' TOAST tables in special schemas named
<listitem>
<para>
- Allow <command>CREATE INDEX CONCURRENTLY</command> to ignore
- transactions in other databases (Simon)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Add new encodings EUC_JIS_2004 and SHIFT_JIS_2004, along with new
- conversions between EUC_JIS_2004, SHIFT_JIS_2004 and UTF-8 (Tatsuo)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Make JOHAB encoding client-only (Tatsuo)
+ Add new encodings EUC_JIS_2004 and SHIFT_JIS_2004 (Tatsuo)
</para>
<para>
- JOHAB is not safe as a server-side encoding.
+ These new encodings can be converted to and from UTF-8.
</para>
</listitem>
</sect3>
<sect3>
- <title>Server Monitoring</title>
+ <title>Monitoring</title>
<itemizedlist>
- <listitem>
- <para>
- Autovacuum now reports its activity start time in
- <literal>pg_stat_activity</literal> (Tom)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Allow server log output in comma-separated value (CSV) format (Arul
- Shaji, Greg Smith, Andrew Dunstan)
- </para>
-
- <para>
- CSV-format log files can be loaded into a database table for subsequent
- analysis.
- </para>
- </listitem>
-
<listitem>
<para>
Add <varname>log_autovacuum_min_duration</varname> parameter to
</para>
</listitem>
- <listitem>
- <para>
- Use PostgreSQL-supplied timezone support for formatting timestamps
- displayed in the server log (Tom)
- </para>
-
- <para>
- This avoids Windows-specific problems with localized time zone
- names that are in the wrong encoding. There is a new
- <varname>log_timezone</> parameter that controls the timezone
- used in log messages, independently of the client-visible
- <varname>timezone</> parameter.
- </para>
- </listitem>
-
<listitem>
<para>
Add <varname>log_restartpoints</varname> to control logging of
<listitem>
<para>
- New system view <literal>pg_stat_bgwriter</literal> displays
- statistics about background writer activity (Magnus)
+ Autovacuum now reports its activity start time in
+ <literal>pg_stat_activity</literal> (Tom)
</para>
</listitem>
<listitem>
<para>
- Add new columns for database-wide tuple statistics to
- <literal>pg_stat_database</literal> (Magnus)
+ Allow server log output in comma-separated value (CSV) format (Arul
+ Shaji, Greg Smith, Andrew Dunstan)
+ </para>
+
+ <para>
+ CSV-format log files can be loaded into a database table for subsequent
+ analysis.
</para>
</listitem>
<listitem>
<para>
- Add an <literal>xact_start</literal> (transaction start time) column to
- <literal>pg_stat_activity</literal> (Neil)
+ Use PostgreSQL-supplied timezone support for formatting timestamps
+ displayed in the server log (Tom)
</para>
<para>
- This makes it easier to identify long-running transactions.
+ This avoids Windows-specific problems with localized time zone
+ names that are in the wrong encoding. There is a new
+ <varname>log_timezone</> parameter that controls the timezone
+ used in log messages, independently of the client-visible
+ <varname>timezone</> parameter.
</para>
</listitem>
<listitem>
<para>
- Add <literal>n_live_tuples</> and <literal>n_dead_tuples</> columns
- to <literal>pg_stat_all_tables</literal> and related views (Glen
- Parker)
+ New system view <literal>pg_stat_bgwriter</literal> displays
+ statistics about background writer activity (Magnus)
</para>
</listitem>
<listitem>
<para>
- Remove <varname>stats_start_collector</varname> parameter (Tom)
+ Add new columns for database-wide tuple statistics to
+ <literal>pg_stat_database</literal> (Magnus)
</para>
+ </listitem>
+ <listitem>
<para>
- We now always start the collector process, unless <acronym>UDP</>
- socket creation fails.
+ Add an <literal>xact_start</literal> (transaction start time) column to
+ <literal>pg_stat_activity</literal> (Neil)
</para>
- </listitem>
- <listitem>
<para>
- Remove <varname>stats_reset_on_server_start</varname> parameter (Tom)
+ This makes it easier to identify long-running transactions.
</para>
+ </listitem>
+ <listitem>
<para>
- This was removed because <function>pg_stat_reset()</function>
- can be used for this purpose.
+ Add <literal>n_live_tuples</> and <literal>n_dead_tuples</> columns
+ to <literal>pg_stat_all_tables</literal> and related views (Glen
+ Parker)
</para>
</listitem>
</sect3>
<sect3>
- <title>Authentication Changes</title>
+ <title>Authentication</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>WAL and Continuous Archiving Changes</title>
+ <title>Write-Ahead Log (<acronym>WAL</>) and Continuous Archiving</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>Query Changes</title>
+ <title>Queries</title>
<itemizedlist>
<listitem>
</para>
</listitem>
- <listitem>
- <para>
- Remove the undocumented <literal>!!=</> (not in) operator (Tom)
- </para>
-
- <para>
- <literal>NOT IN (SELECT ...)</literal> is the proper way to
- perform this operation.
- </para>
- </listitem>
-
</itemizedlist>
</sect3>
<sect3>
- <title>Object Manipulation Changes</title>
+ <title>Object Manipulation</title>
<itemizedlist>
<listitem>
</para>
</listitem>
- <listitem>
- <para>
- Foreign keys now must match indexable conditions for
- cross-data-type references (Tom)
- </para>
-
- <para>
- This improves semantic consistency and helps avoid
- performance problems.
- </para>
- </listitem>
-
</itemizedlist>
</sect3>
<sect3>
- <title>Utility Command Changes</title>
+ <title>Utility Commands</title>
<itemizedlist>
<listitem>
</para>
</listitem>
+ <listitem>
+ <para>
+ Allow <command>CREATE INDEX CONCURRENTLY</command> to ignore
+ transactions in other databases (Simon)
+ </para>
+ </listitem>
+
<listitem>
<para>
Make <command>CREATE/DROP/RENAME DATABASE</> wait briefly for
</para>
</listitem>
+ <listitem>
+ <para>
+ Limit the amount of information reported when a user is dropped
+ (Alvaro)
+ </para>
+
+ <para>
+ Previously, dropping (or attempting to drop) a user who owned many
+ objects could result in large <literal>NOTICE</literal> or
+ <literal>ERROR</literal> messages listing all these objects; this
+ caused problems for some client applications. The length of the
+ message is now limited, although a full list is still sent to the
+ server log.
+ </para>
+ </listitem>
+
<listitem>
<para>
Prevent <command>NOTIFY</command>/<command>LISTEN</command>/<command>UNLISTEN</command>
</sect3>
<sect3>
- <title>Data Type and Function Changes</title>
+ <title>Data Types and Functions</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>PL/PgSQL Server-Side Language Changes</title>
+ <title>PL/PgSQL Server-Side Language</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>Changes to Other Server-Side Languages</title>
+ <title>Other Server-Side Languages</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title><link linkend="APP-PSQL"><application>psql</></link> Changes</title>
+ <title><link linkend="APP-PSQL"><application>psql</></link></title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title><link linkend="APP-PGDUMP"><application>pg_dump</></link> Changes</title>
+ <title><link linkend="APP-PGDUMP"><application>pg_dump</></link></title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>Other Client Application Changes</title>
+ <title>Other Client Applications</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title><link linkend="libpq"><application>libpq</></link> Changes</title>
+ <title><link linkend="libpq"><application>libpq</></link></title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title><link linkend="ecpg"><application>ecpg</></link> Changes</title>
+ <title><link linkend="ecpg"><application>ecpg</></link></title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>Source Code Changes</title>
+ <title>Source Code</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>Contrib Changes</title>
+ <title>Contrib</title>
<itemizedlist>
<listitem>