Update SGML release notes with Peter's direction. Does not compile

because of section adjustments still needed.
This commit is contained in:
Bruce Momjian 2003-10-30 20:25:36 +00:00
parent 216bc11020
commit c0d92dc489
1 changed files with 111 additions and 131 deletions

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.224 2003/10/30 20:25:36 momjian Exp $
-->
<appendix id="release">
@ -10,11 +10,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo
<sect2><title>Overview</title>
<para> Major changes in this release:
<glosslist>
<glossentry><glossterm> Performance</glossterm>
<itemizedlist>
<glossdef><para> IN/NOT IN subqueries are now much more efficient
<listitem><para> IN/NOT IN subqueries are now much more efficient</para>
<sect3>
<para>
In previous releases, IN/NOT IN subqueries were joined to the
@ -24,9 +23,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo
than EXISTS subqueries.
</para>
</sect3>
</para>
</listitem>
<para> Improved GROUP BY processing by using hash buckets
<listitem><para> Improved GROUP BY processing by using hash buckets</para>
<sect3>
<para>
In previous releases, GROUP BY totals were accumulated by
@ -37,18 +36,18 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo
number of distinct GROUP BY values.
</para>
</sect3>
</para>
</listitem>
<para> New multi-key hash join capability
<listitem><para> New multi-key hash join capability</para>
<sect3>
<para>
In previous releases, hash joins could only occur on single-column
joins. This release allows multi-column hash joins.
</para>
</sect3>
</para>
</listitem>
<para> ANSI joins are now better optimized
<listitem><para> ANSI joins are now better optimized</para>
<sect3>
<para>
Prior releases evaluated ANSI join syntax only in the order
@ -57,9 +56,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo
all possible join orderings and chooses the most efficient.
</para>
</sect3>
</para>
</listitem>
<para> Faster and more powerful regular expression code
<listitem><para> Faster and more powerful regular expression code
</para>
<sect3>
<para>
The entire regular expression module has been replaced with a new
@ -68,9 +68,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo
of regular expressions.
</para>
</sect3>
</para>
</listitem>
<para> Function-inlining for simple SQL functions
<listitem><para> Function-inlining for simple SQL functions</para>
<sect3>
<para>
Simple SQL functions can now be inlined by including their SQL
@ -79,13 +79,10 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.223 2003/10/30 19:43:01 mo
SQL functions to behave like macros.
</para>
</sect3>
</para></glossdef>
</glossentry>
</listitem>
<glossentry> <glossterm> IPv6</glossterm>
<glossdef><para> Full support for IPv6 connections and IPv6 address
data types
<listitem><para> Full support for IPv6 connections and IPv6 address
data types</para>
<sect3>
<para>
Prior releases allowed only IPv6 connections and IP data types only
@ -93,26 +90,20 @@ data types
both of these areas.
</para>
</sect3>
</para></glossdef>
</glossentry>
</listitem>
<glossentry><glossterm> SSL</glossterm>
<glossdef><para> Major improvements in SSL performance and
reliability
<listitem><para> Major improvements in SSL performance and
reliability</para>
<sect3>
<para>
Several people very familiar with the SSL API have overhauled our
SSL code to improve SSL key negotiation and error recovery.
</para>
</sect3>
</para></glossdef>
</glossentry>
</listitem>
<glossentry><glossterm> Index Growth Prevention</glossterm>
<glossdef><para> Allow free space map to efficiently reuse empty index
pages, and other free space management improvements.
<listitem><para> Allow free space map to efficiently reuse empty index
pages, and other free space management improvements.</para>
<sect3>
<para>
In prior releases, index pages that were left empty because of
@ -122,38 +113,30 @@ pages, and other free space management improvements.
rows.
</para>
</sect3>
</para></glossdef>
</glossentry>
</listitem>
<glossentry><glossterm> Standards Compliance</glossterm>
<listitem><para>Implement information schema</para>
</listitem>
<glossdef><para>Implement information schema</para>
<listitem><para>Support for read-only transactions </para>
</listitem>
<para>Support for read-only transactions </para>
<para>Make cursors comply more closely with the SQL standard
<listitem><para>Make cursors comply more closely with the SQL standard
</para></glossdef>
</listitem>
</glossentry>
<glossentry><glossterm> New Client/Server Communication
Protocol</glossterm>
<glossdef><para> New protocol improves connection speed/reliability,
<listitem><para> New protocol improves connection speed/reliability,
and adds error codes, status information, a binary protocol, error
reporting verbosity, and cleaner startup packets.</para></glossdef>
</glossentry>
</listitem>
<glossentry><glossterm> Holdable Cursors</glossterm>
<listitem><glossdef><para> Allow cursors to exist outside transactions,
also called holdable cursors
</para>
</listitem>
<glossdef><para> Allow cursors to exist outside transactions
</para></glossdef>
</glossentry>
<glossentry><glossterm> Threads</glossterm>
<glossdef><para> libpq and ecpg are now fully thread-safe with
--enable-thread-safety
<listitem><glossdef><para> libpq and ecpg are now fully thread-safe with
--enable-thread-safety</para>
<sect3>
<para>
While prior libpq releases already supported threads, this release
@ -161,14 +144,12 @@ reporting verbosity, and cleaner startup packets.</para></glossdef>
was used in the database connection routines.
</para>
</sect3>
</para></glossdef>
</glossentry>
</listitem>
<glossentry><glossterm> Contrib</glossterm>
<listitem><para> New version of full text indexing in /contrib/tsearch2</para>
</listitem>
<glossdef><para> New version of full text indexing (tsearch2)</para>
<para> New autovacuum tool
<listitem><para> New autovacuum tool in /contrib</para>
<sect3>
<para>
This new tool monitors the database statistics tables for
@ -176,19 +157,18 @@ reporting verbosity, and cleaner startup packets.</para></glossdef>
needed.
</para>
</sect3>
</para>
</listitem>
<para> Array handling has been improved and moved into the main
server
<listitem><para> Array handling has been improved and moved into the main
server</para>
<sect3>
<para>
Many array limitations have been removed and they behave more like
fully-supported data types.
</para>
</sect3>
</para></glossdef>
</glossentry>
</glosslist></para></sect2>
</listitem>
</itemizedlist></para></sect2>
<sect2><title> Migration to version 7.4</title>
@ -198,7 +178,7 @@ required for those wishing to migrate data from any previous release.</para>
<para> Observe the following incompatibilities:
<itemizedlist>
<listitem><para> The server-side autocommit setting was removed and reimplemented
in client applications and languages.
in client applications and languages.</para>
<sect3>
<para>
Server-side autocommit was causing too many problems with
@ -207,29 +187,29 @@ required for those wishing to migrate data from any previous release.</para>
and added to individual client API's as appropriate.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para> Error message wording has changed substantially in this release,
and error codes have been added.</para></listitem>
<listitem><para> ANSI inner joins may behave differently because they are now better optimized</para></listitem>
<listitem><para> A number of server variables have been renamed for
clarity, primarily those related to logging</para></listitem>
<listitem><para> MOVE/FETCH 0 now does nothing
<listitem><para> MOVE/FETCH 0 now does nothing</para>
<sect3>
<para>
In prior releases, FETCH 0 would fetch all remaining rows, and
MOVE 0 would move to the end of the cursor.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para> MOVE/FETCH now returns the actual number of rows moved/fetched, or zero
if at the beginning/end of the cursor
if at the beginning/end of the cursor</para>
<sect3>
<para>
Prior releases would return the tuple count passed to the
command, not the actual number of rows FETCHed or MOVEd.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para> COPY now can process carriage-return and
carriage-return/line-feed end-of-line terminated files.</para></listitem>
<listitem><para>Literal carriage-returns and line-feeds are no
@ -238,7 +218,7 @@ required for those wishing to migrate data from any previous release.</para>
from <type>CHAR(n)</type> to
<type>VARCHAR(n)</type> / <type>TEXT</type></para></listitem>
<listitem><para> <function>FLOAT(p)</function> now measures 'p' in bits, not digits</para></listitem>
<listitem><para> Ambiguous date values now must match the ordering specified by DateStyle
<listitem><para> Ambiguous date values now must match the ordering specified by DateStyle</para>
<sect3>
<para>
In prior releases, a date of <literal>10/20/03</> was
@ -249,17 +229,17 @@ required for those wishing to migrate data from any previous release.</para>
current <varname>DateStyle</>.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para> The <function>oidrand()</function>, <function>oidsrand()</function>,
and <function>userfntest()</function> functions have been removed.
and <function>userfntest()</function> functions have been removed.</para>
<sect3>
<para>
These functions were determined to be no longer useful.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para> <literal>'now'</literal> will no longer work as a column default; <function>now()</> or
<function>CURRENT_TIMESTAMP</> should be used instead
<function>CURRENT_TIMESTAMP</> should be used instead</para>
<sect3>
<para>
In prior releases, there was special code so the string
@ -272,24 +252,24 @@ required for those wishing to migrate data from any previous release.</para>
situations.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para> <literal>'today'</literal> will no longer work as a column default; <function>CURRENT_DATE</>
should be used instead
should be used instead</para>
<sect3>
<para>
Same description as above.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para> Dollar sign (<literal>$</>) is no longer allowed in operator names</para></listitem>
<listitem><para> Dollar sign (<literal>$</>) can be a non-first character in identifiers
<listitem><para> Dollar sign (<literal>$</>) can be a non-first character in identifiers</para>
<sect3>
<para>
This was done to improve compatibility with other database
systems.
</para>
</sect3>
</para></listitem>
</listitem>
</itemizedlist></para></sect2>
<sect2><title> Server Operation Changes</title>
@ -305,31 +285,31 @@ required for those wishing to migrate data from any previous release.</para>
</para>
</sect3>
</para></listitem>
<listitem><para>SSL protocol security and performance improvements (Sean Chittenden)
<listitem><para>SSL protocol security and performance improvements (Sean Chittenden)</para>
<sect3>
<para>
SSL key renegotiation was happening too frequently, causing poor SSL
performance. Also, initial key handling was improved.
</para>
</sect3>
</para></listitem>
<listitem><para>Print lock information when a deadlock is detected (Tom)
</listitem>
<listitem><para>Print lock information when a deadlock is detected (Tom)</para>
<sect3>
<para>
This allows easier debugging of deadlock situations.
</para>
</sect3>
</para></listitem>
<listitem><para>Update <filename>/tmp</filename> socket mod. times regularly to avoid their removal (Tom)
</listitem>
<listitem><para>Update <filename>/tmp</filename> socket mod. times regularly to avoid their removal (Tom)</para>
<sect3>
<para>
This should help prevent <filename>/tmp</filename> directory cleaner
administration scripts from removing server socket files.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Enable PAM for MAC OS X (Aaron Hillegass)</para></listitem>
<listitem><para>Make btree indexes fully WAL-safe (Tom)
<listitem><para>Make btree indexes fully WAL-safe (Tom)</para>
<sect3>
<para>
In prior releases, under certain rare cases, a server crash could
@ -337,9 +317,9 @@ required for those wishing to migrate data from any previous release.</para>
last few rare cases.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Allow btree index compaction and empty page reuse (Tom)</para></listitem>
<listitem><para>Fix inconsistent index lookups during split of first root page (Tom)
<listitem><para>Fix inconsistent index lookups during split of first root page (Tom)</para>
<sect3>
<para>
In prior releases, when a single-page index split into two page,
@ -348,9 +328,9 @@ required for those wishing to migrate data from any previous release.</para>
multi-cpu machines. This release fixes that rare failure case.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Improve free space map allocation logic (Tom)</para></listitem>
<listitem><para>Preserve free space information between postmaster restarts (Tom)
<listitem><para>Preserve free space information between postmaster restarts (Tom)</para>
<sect3>
<para>
In prior releases, the free space map was not saved when the
@ -359,7 +339,7 @@ required for those wishing to migrate data from any previous release.</para>
when the server is restarted.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Set proper schema permissions in initdb (Peter)</para></listitem>
<listitem><para>Add start time to pg_stat_activity (Neil)</para></listitem>
<listitem><para>New code to detect corrupt disk pages; erase with zero_damaged_pages (Tom)</para></listitem>
@ -380,7 +360,7 @@ required for those wishing to migrate data from any previous release.</para>
<listitem><para>Allow multi-key hash joins (Tom)</para></listitem>
<listitem><para>Improve constant folding (Tom)</para></listitem>
<listitem><para>Add ability to inline simple SQL functions (Tom)</para></listitem>
<listitem><para>Reduce memory usage for queries using complex functions (Tom)
<listitem><para>Reduce memory usage for queries using complex functions (Tom)</para>
<sect3>
<para>
In prior releases, functions returning allocated memory would
@ -389,19 +369,19 @@ required for those wishing to migrate data from any previous release.</para>
completes, reducing the total memory used by functions.
</para>
</sect3>
</para></listitem>
<listitem><para>Improve GEQO optimizer performance (Tom)
</listitem>
<listitem><para>Improve GEQO optimizer performance (Tom)</para>
<sect3>
<para>
There were several inefficiencies in the way the GEQO optimizer
managed potential query paths. This release fixes this.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Allow IN/NOT IN to be handled via hash tables (Tom)</para></listitem>
<listitem><para>Improve NOT IN (subquery) performance (Tom)</para></listitem>
<listitem><para>Allow most IN subqueries to be processed as joins (Tom)</para></listitem>
<listitem><para>Allow the postmaster to preload libraries using preload_libraries (Joe)
<listitem><para>Allow the postmaster to preload libraries using preload_libraries (Joe)</para>
<sect3>
<para>
For shared libraries that require a long time to load, this option
@ -409,7 +389,7 @@ required for those wishing to migrate data from any previous release.</para>
inherited by all database sessions.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Improve optimizer cost computations, particularly for subqueries (Tom)</para></listitem>
<listitem><para>Avoid sort when subquery ORDER BY matches upper query (Tom)</para></listitem>
<listitem><para>Assume WHERE a.x = b.y and b.y = 42 also means a.x = 42 (Tom)</para></listitem>
@ -419,18 +399,18 @@ required for those wishing to migrate data from any previous release.</para>
<listitem><para>Add from_collapse_limit to control conversion of subqueries to joins (Tom)</para></listitem>
<listitem><para>Use faster and more powerful regular expression code from TCL (Henry Spencer, Tom)</para></listitem>
<listitem><para>Use bit-mapped relation sets in the optimizer (Tom)</para></listitem>
<listitem><para>Improve backend startup time (Tom)
<listitem><para>Improve backend startup time (Tom)</para>
<sect3>
<para>
The new network protocol requires fewer network packets to start a
database session.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Improve trigger/constraint performance (Stephan)</para></listitem>
<listitem><para>Improve speed of col IN (const, const, const, ...) (Tom)</para></listitem>
<listitem><para>Fix hash indexes which were broken in rare cases (Tom)</para></listitem>
<listitem><para>Improve hash index concurrency and speed (Tom)
<listitem><para>Improve hash index concurrency and speed (Tom)</para>
<sect3>
<para>
Prior releases suffered from poor hash index performance,
@ -439,40 +419,40 @@ required for those wishing to migrate data from any previous release.</para>
btree and hash index performance.
</para>
</sect3>
</para></listitem>
<listitem><para>Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul)
</listitem>
<listitem><para>Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul)</para>
<sect3>
<para>
Certain CPU's perform faster data copies when addresses are 32-bit
aligned.
</para>
</sect3>
</para></listitem>
<listitem><para>The NUMERIC datatype has been reimplemented for better performance (Tom)
</listitem>
<listitem><para>The NUMERIC datatype has been reimplemented for better performance (Tom)</para>
<sect3>
<para>
NUMERIC used to be stored in base-100. The new code uses base-10000,
for significantly better performance.
</para>
</sect3>
</para></listitem>
</listitem>
</itemizedlist></sect2>
<sect2><title>Server Configuration Changes</title>
<itemizedlist>
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)ara></l
<sect3>
<para>
This was done so most parameters that control the server logs being
with <literal>log_</>.
</para>
</sect3>
</para></listitem>
</pistitem>
<listitem><para>Rename show_*_stats to log_*_stats (Bruce)</para></listitem>
<listitem><para>Rename show_source_port to log_source_port (Bruce)</para></listitem>
<listitem><para>Rename hostname_lookup to log_hostname (Bruce)</para></listitem>
<listitem><para>Add checkpoint_warning to warn of excessive checkpointing (Bruce)
<listitem><para>Add checkpoint_warning to warn of excessive checkpointing (Bruce)</para>
<sect3>
<para>
In prior releases, it was difficult to determine if checkpoint was
@ -480,60 +460,60 @@ required for those wishing to migrate data from any previous release.</para>
logs when excessive checkpointing happens.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>New read-only server parameters for localization (Tom)</para></listitem>
<listitem><para>Change debug server log messages to output as DEBUG rather than LOG (Bruce)</para></listitem>
<listitem><para>Prevent server log variables from being turned off by non-super users (Bruce)
<listitem><para>Prevent server log variables from being turned off by non-super users (Bruce)</para>
<sect3>
<para>
This is a security feature so non-super-users can't disable logging
that was enabled by the administrator.
</para>
</sect3>
</para></listitem>
<listitem><para>log_min_messages/client_min_messages now controls debug_* output (Bruce)
</listitem>
<listitem><para>log_min_messages/client_min_messages now controls debug_* output (Bruce)</para>
<sect3>
<para>
This centralizes client debug information so all debug output can
be sent to either the client or server logs.
</para>
</sect3>
</para></listitem>
<listitem><para>Add OS X Rendezvous server support (Chris Campbell)
</listitem>
<listitem><para>Add OS X Rendezvous server support (Chris Campbell)</para>
<sect3>
<para>
This allows OS X machines to query the network for available
PostgreSQL servers.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Add ability to print only slow statements using log_min_duration_statement
(Christopher)
(Christopher) </par
<sect3>
<para>
This is an often requested debugging feature that allows administrators to
see only slow queries in their server logs.
see only slow queries in their server logs.</para>
</para>
</sect3>
</para></listitem>
<listitem><para>Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan)
</listitem>
<listitem><para>Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan)</para>
<sect3>
<para>
This allows administrators to merge the host IP address and netmask
fields into a single CIDR field in pg_hba.conf.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>New is_superuser read-only variable (Tom)</para></listitem>
<listitem><para>New server-side parameter log_error_verbosity to control error detail (Tom)
<listitem><para>New server-side parameter log_error_verbosity to control error detail (Tom)</para>
<sect3>
<para>
This works with the new error reporting feature to supply additional
error information like hints, file names and line numbers.
</para>
</sect3>
</para></listitem>
<listitem><para>postgres --describe-config now dumps server config variables (Aizaz Ahmed, Peter)
</listitem>
<listitem><para>postgres --describe-config now dumps server config variables (Aizaz Ahmed, Peter)</para>
<sect3>
<para>
This option is useful for administration tools that need to know the
@ -541,8 +521,8 @@ required for those wishing to migrate data from any previous release.</para>
and descriptions.
</para>
</sect3>
</para></listitem>
<listitem><para>Make default shared_buffers 1000 and max_connections 100, if possible (Tom)
</listitem>
<listitem><para>Make default shared_buffers 1000 and max_connections 100, if possible (Tom)</para>
<sect3>
<para>
Prior versions defaulted to 64 shared buffers so PostgreSQL would
@ -552,7 +532,7 @@ required for those wishing to migrate data from any previous release.</para>
and size shared_buffers accordingly.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Add new columns in pg_settings: context, type, source, min_val, max_val (Joe)</para></listitem>
<listitem><para>New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon Jensen)
<sect3>
@ -562,7 +542,7 @@ required for those wishing to migrate data from any previous release.</para>
capability.
</para>
</sect3>
</para></listitem>
</listitem>
<listitem><para>Remove geqo_random_seed server parameter (Tom)</para></listitem>
</itemizedlist></sect2>