More release note updates.

This commit is contained in:
Bruce Momjian 2005-08-23 14:54:06 +00:00
parent 0f455b346e
commit 31ef0588c8

View File

@ -1,5 +1,5 @@
<!-- <!--
$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian Exp $ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.345 2005/08/23 14:54:06 momjian Exp $
--> -->
<appendix id="release"> <appendix id="release">
@ -52,14 +52,22 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<varlistentry> <varlistentry>
<term> <term>
Add in-memory bitmaps which allows multiple indexes to be merged in a Add in-memory bitmaps which allows multiple indexes to be merged
single query (Tom) in a single query (Tom)
</term> </term>
<listitem> <listitem>
<para> <para>
This allows multiple indexes to be combined to access a single In previous releases, only a single index could be used to do
table. lookups on a table. With this feature, if a query has WHERE
tab.col1 = 4 and tab.col2 = 9, and there is no multicolumn index
on col1 and col2, but there is an index on col1 and another on
col2, it is possible to do lookups on the col1 index and the
col2 index and combine them in memory to do heap lookups on rows
matching both the col1 and col2 restrictions. This is very
useful in environments that have a lot of unstructured queries
where it is impossible to create indexes that match all possible
access conditions.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -72,25 +80,65 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Two-phase commit allows transactions to be "prepared" on several Two-phase commit allows transactions to be "prepared" on several
computers, and once all computers have successfully prepared their computers, and once all computers have successfully prepared
transactions (and can not be rolled back) all transactions can be their transactions (none failed), all transactions can be
committed. Even if a machine crashes after a prepare, the prepared committed. Even if a machine crashes after a prepare, the
transaction can be committed after it is restarted. New syntax prepared transaction can be committed after it is restarted. New
includes PREPARE TRANSACTION and COMMIT/ROLLBACK PREPARED. A new syntax includes PREPARE TRANSACTION and COMMIT/ROLLBACK
system view pg_prepared_xacts has also been added. PREPARED. A new system view pg_prepared_xacts has also been
added.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term> <term>
Replace pg_shadow and pg_group by new role-capable catalogs pg_authid Create a new role system that replaces users and groups
and pg_auth_members. (Stephen Frost)
</term> </term>
<listitem> <listitem>
<para> <para>
Add SET ROLE (Stephen Frost) Roles are a combination of users and groups. Like users, they
can have login capability, and like groups, a role can have
other roles as members. Roles basically remove the distinction
between users and groups. For example, a role can:
</para>
<itemizedlist>
<listitem>
<para>
Have optionally have login capability
</para>
</listitem>
<listitem>
<para>
Own objects
</para>
</listitem>
<listitem>
<para>
Inherit permission from other member roles
</para>
</listitem>
<listitem>
<para>
Switch to another member role using SET ROLE
</para>
</listitem>
</itemizedlist>
<para>
So, once a user logs into a role, she inherits capabilities of
the login role plus any inherited roles, and can use SET ROLE to
switch to other member roles. This change also replaces
pg_shadow and pg_group by with new role-capable catalogs
pg_authid and pg_auth_members. The old tables are redefined as
views on the new role tables.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -102,7 +150,9 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Add SET ROLE (Stephen Frost) Moving pgautovacuum from /contrib allows it to be automatically
started and stoped in sync with the database server, and allows
for pgautovacuum to be configured from postgresql.conf.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -114,10 +164,11 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
While PostgreSQL's MVCC locking allows SELECT to never be blocked by writers While PostgreSQL's MVCC locking allows SELECT to never be
and therefore does not need shared row locks for typical operations, blocked by writers and therefore does not need shared row locks
shared locks are useful for applications that require shared row locking, for typical operations, shared locks are useful for applications
and to reduce the locking requirements to maintain referential integrity. that require shared row locking, and to reduce the locking
requirements to maintain referential integrity.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -159,7 +210,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Cause input of a zero-length string ('') for float4/float8/oid to throw Cause input of a zero-length strings ('') for float4/float8/oid to throw
an error, rather than treat it as a zero (Neil) an error, rather than treat it as a zero (Neil)
</para> </para>
<para> <para>
@ -170,11 +221,11 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Make default_with_oids default to false (Neil) Change the default for default_with_oids to false (Neil)
</para> </para>
<para> <para>
With this option set to false, user-created tables no With this option set to false, user-created tables no
have an the usually-invisible OID column unless WITH OIDS longer have an the usually-invisible OID column unless WITH OIDS
is specified in CREATE TABLE. Though OIDs have existed in all previous is specified in CREATE TABLE. Though OIDs have existed in all previous
releases of PostgreSQL, their use is limited because they are only four releases of PostgreSQL, their use is limited because they are only four
bytes long and the counter is unique across all installed databases. bytes long and the counter is unique across all installed databases.
@ -185,25 +236,49 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Add E'' syntax so eventually normal strings can treat backslashes Add E'' syntax so eventually ordinary strings can treat backslashes
literally (Bruce) literally (Bruce)
</para> </para>
<para> <para>
Currently PostgreSQL considers a backslash to be a special character Currently PostgreSQL processes a backslash in a string
so the character after the backslash is treated specially. While this as preceeding a character that requires special processing, e.g.
allows easy entry of special values, it is non-standard and makes \n or \010. While this allows easy entry of special values, it is
porting of application from other databases more difficult. For this non-standard and makes porting of application from other
reason, the PostgreSQL project is moving to remove the special meaning databases more difficult. For this reason, the PostgreSQL project
of backslashes in strings, and allow only an E preceeding a string to is planning to remove the special meaning of backslashes in
turn on the special handling of backslashes. For this reason, this strings. For backward compatibility and for users who want
release adds several new GUC variables related to backslash special backslash procesing, a new string type will be created.
processing: This new string type is formed by having an E preceed
the single quote that starts the string, e.g. E'hi\n'.
escape_string_warning - warn about backslashes in non-E strings While this release does not change the handling of backslashes in
escape_string_syntax - does this release support the E'' syntax? strings, it does add several new GUC variables to help users
standard_conforming_strings - does this release treat backslashes migrate applications for future releases:
literally in non-E strings
</para> </para>
<itemizedlist>
<listitem>
<para>
escape_string_warning - warn about backslashes in ordinary
(non-E) strings
</para>
</listitem>
<listitem>
<para>
escape_string_syntax - does this release support the E'' syntax?
</para>
</listitem>
<listitem>
<para>
standard_conforming_strings - does this release treat
backslashes literally in normal strings?
</para>
</listitem>
</itemizedlist>
<para> <para>
The last two values are read-only and should assist in the porting of The last two values are read-only and should assist in the porting of
applications. Applications can retrieve these values to know how applications. Applications can retrieve these values to know how
@ -244,8 +319,8 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
(Tom) (Tom)
</para> </para>
<para> <para>
These have never been documented and complicated the use of modulus These have never been documented and complicated the use of the modulus
(%) with negative numbers. operator (%) with negative numbers.
</para> </para>
</listitem> </listitem>
@ -274,7 +349,6 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Improve rtree index capabilities and performance (Neil) Improve rtree index capabilities and performance (Neil)
Replaced by contrib?
</para> </para>
</listitem> </listitem>
@ -286,14 +360,13 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Overhaul internal API in several areas to improve performance Overhaul internal API in several areas
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change WAL CRC records from 64bit to 32bit to improve performance Change WAL CRC records from 64bit to 32bit (Tom)
(Tom)
</para> </para>
</listitem> </listitem>
@ -326,8 +399,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Allow concurrent GIST index access, greatly improving performance Allow concurrent GIST index access (Teodor, Oleg)
(Teodor, Oleg)
</para> </para>
</listitem> </listitem>
@ -340,7 +412,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
PostgreSQL writes a complete copy of each database disk page to WAL PostgreSQL writes a complete copy of each database disk page to WAL
the first time it is modified after a checkpoint. This turns off that the first time it is modified after a checkpoint. This turns off that
functionality for users with battery-backed disk caches where partial functionality for users with battery-backed disk caches where partial
page writes can not happen. page writes cannot happen.
</para> </para>
</listitem> </listitem>
@ -388,7 +460,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Prevent problems due to transaction ID wraparound (Tom) Prevent problems due to transaction ID (XID) wraparound (Tom)
</para> </para>
<para> <para>
This was accomplished by warning the transaction counter is This was accomplished by warning the transaction counter is
@ -400,8 +472,8 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Fix problem of OID wraparound conflicting with existing system objects Fix problem of object ID (OID) wraparound conflicting
(Tom) with existing system objects (Tom)
</para> </para>
</listitem> </listitem>
@ -439,24 +511,8 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Allow Kerberos name and user name case sensitivity to be specified from Allow Kerberos name and user name case sensitivity to be
postgresql.conf (Magnus) specified in postgresql.conf (Magnus)
</para>
</listitem>
<listitem>
<para>
Add log_line_prefix options for millisecond timestamps (%m) and
remote host (%h) (Ed L.)
</para>
</listitem>
<listitem>
<para>
Add WAL logging for GIST indexes (Teodor, Oleg)
</para>
<para>
GIST indexes now work for online backup and crash recovery
</para> </para>
</listitem> </listitem>
@ -473,18 +529,34 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<listitem> <listitem>
<para> <para>
Remove old *.backup files when we do pg_stop_backup() (Bruce) Add log_line_prefix options for millisecond timestamps (%m) and
</para> remote host (%h) (Ed L.)
<para>
This prevents a large number of *.backup files from existing in
pg_xlog/.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add GUC variables to control keep-alive times for idle, interval, and Add WAL logging for GIST indexes (Teodor, Oleg)
count (Oliver Jowett) </para>
<para>
GIST indexes now work for point-in-time recovery and crash recovery
</para>
</listitem>
<listitem>
<para>
Remove old *.backup files when we do pg_stop_backup() (Bruce)
</para>
<para>
This prevents a large number of *.backup files from existing in
/seemspg_xlog.
</para>
</listitem>
<listitem>
<para>
Add GUC variables to control TCP/IP keep-alive times for idle,
interval, and count (Oliver Jowett)
</para> </para>
</listitem> </listitem>
@ -492,6 +564,12 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<para> <para>
Add per-user and per-database connection limits (Petr Jelinek) Add per-user and per-database connection limits (Petr Jelinek)
</para> </para>
<para>
Using ALTER USER and ALTER DATABASE, limits can not be enforced
on the maximum number of users who can connect as as a specific
uesr or to a specific database. Setting the limit to zero
disables user or database connections.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -513,6 +591,9 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
Fix HAVING without aggregate functions and no GROUP BY to behave Fix HAVING without aggregate functions and no GROUP BY to behave
as if the main query returns a single group (Tom) as if the main query returns a single group (Tom)
</para> </para>
<para>
Previously, such a case would treat the HAVING clause as WHERE
clause.
</listitem> </listitem>
<listitem> <listitem>
@ -520,6 +601,11 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
Add USING clause to allow additional tables to be specified to DELETE Add USING clause to allow additional tables to be specified to DELETE
(Euler Taveira de Oliveira) (Euler Taveira de Oliveira)
</para> </para>
<para>
In prior releases, there was no clear method for specifying
additional tables to be used for joins in a DELETE statement.
UPDATE already has a FROM clause for this purpose.
</para>
</listitem> </listitem>
<listitem> <listitem>
@ -527,7 +613,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
Add support for \x hex escapes in backend and ecpg strings (Bruce) Add support for \x hex escapes in backend and ecpg strings (Bruce)
</para> </para>
<para> <para>
This supports the typical C standard \x escape. Octal was already This is just like the standar C \x escape syntax. Octal was already
supported. supported.
</para> </para>
</listitem> </listitem>
@ -537,10 +623,10 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
Add BETWEEN SYMMETRIC query syntax (Pavel Stehule) Add BETWEEN SYMMETRIC query syntax (Pavel Stehule)
</para> </para>
<para> <para>
This feature allows BETWEEN comparisons without requiring the first This feature allows BETWEEN comparisons without requiring the
value to be less than the second. For example, 2 BETWEEN [ASYMMETRIC] 3 AND 1 first value to be less than the second. For example, 2 BETWEEN
returns false, while 2 BETWEEN SYMMETRIC 3 AND 1 returns true. BETWEEN [ASYMMETRIC] 3 AND 1 returns false, while 2 BETWEEN SYMMETRIC 3
ASYMMETRIC was already supported. AND 1 returns true. BETWEEN ASYMMETRIC was already supported.
</para> </para>
</listitem> </listitem>
@ -551,7 +637,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
<para> <para>
While SET statement_timeout allows a query taking over a certain While SET statement_timeout allows a query taking over a certain
amount of time to be cancelled, the NO WAIT option allows a query to amount of time to be cancelled, the NO WAIT option allows a query to
be canceled as soon as a SELECT ... FOR UPDATE/SHARE can not be canceled as soon as a SELECT ... FOR UPDATE/SHARE cannot
immediately acquire a row lock. immediately acquire a row lock.
</para> </para>
</listitem> </listitem>
@ -1418,15 +1504,6 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.344 2005/08/23 12:47:30 momjian
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Replace rtree index code with code from /contrib/rtree_gist (Tom)
</para>
<para>
The improved capabilities of GIST indexes made this possible.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>