Commit cf90c54b authored by Bruce Momjian's avatar Bruce Momjian

Reorder 8.2 release note items more logically.

parent 88057d0c
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.439 2006/09/19 00:57:07 momjian Exp $ -->
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.440 2006/09/19 02:08:30 momjian Exp $ -->
<!--
Typical markup:
......@@ -37,15 +37,15 @@ For new features, add links to the documentation sections.
<para>
This release adds many improvements to commands and database
facilities that were requested by users. Rather than add a
few large new features, this release makes many features from
previous releases easier to use. For example, it is now much
easier to create standby point-in-time-recovery (PITR) servers.
Many performance bottlenecks have been eliminated, allowing
more functionality to be enabled by default. Various additions
facilities that were requested by users. Rather add a few
new features, this release makes many features from previous
releases easier to use. For example, it is now much easier
to create standby point-in-time-recovery (PITR) servers. Many
performance bottlenecks have been eliminated, allowing more
functionality to be enabled by default. Various additions
will make porting from other databases easier. The changes
in this release continue the <productname>PostgreSQL</>
tradition of not only being the most advanced open source
tradition of being not only the most advanced open source
database, but also the easiest to use.
</para>
......@@ -68,39 +68,41 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Improve cost estimation for nestloop index scans (Tom)
Set <envar>escape_string_warning</> to <literal>on</> by
default (Bruce)
</para>
<para>
This may eliminate the need to set unrealistically small
values of <envar>random_page_cost</>. If you have been
using a very small <envar>random_page_cost</>, please
recheck your test cases.
This issues a warning if backslash escapes are used in
non-escape (non-<literal>E''</>) strings.
</para>
</listitem>
<listitem>
<para>
Deprecate use of <application>postmaster</> symlink (Peter)
Disallow aggregate functions in <command>UPDATE</> commands
(unless within a subquery) (Tom)
</para>
<para>
<application>postmaster</> and <application>postgres</>
commands now act identically, with the behavior determined
by switches. The <application>postmaster</> symlink is
kept for compatibility, but is not really needed.
The standard disallows this, and it leads to unpredictable
results.
</para>
</listitem>
<listitem>
<para>
Change <envar>log_duration</> to output even if the query
is not output (Tom)
Change the row constructor syntax (<literal>ROW(...)</>)
so that list elements <literal>foo.*</> will be expanded
to a list of their member fields, rather than creating a
nested rowtype field as formerly (Tom)
</para>
<para>
In prior releases, <envar>log_duration</> only printed if
the query appeared earlier in the logs.
The new behavior is substantially more useful since it
allows, for example, triggers to check for data changes
with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
The old behavior is still available by omitting <literal>.*</>.
</para>
</listitem>
......@@ -120,92 +122,89 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Set <envar>escape_string_warning</> to <literal>on</> by
default (Bruce)
Have <command>SET CONSTRAINT</> affect only one constraint
(Kris Jurka)
</para>
<para>
This issues a warning if backslash escapes are used in
non-escape (non-<literal>E''</>) strings.
In previous releases, <command>SET CONSTRAINT</> modified
all constraints with a matching name. In this release,
the schema search path is used to modify only the first
matching constraint. A schema specification is also
supported.
</para>
</listitem>
<listitem>
<para>
Disallow aggregate functions in <command>UPDATE</> commands
(unless within a subquery) (Tom)
Remove rule permission for tables, for security reasons
(Tom)
</para>
<para>
The standard disallows this, and it leads to unpredictable
results.
In this release, only a table's owner can create or modify
rules for the table. For backwards compatibility,
<command>GRANT</>/<command>REVOKE RULE</> is still accepted,
but it does nothing.
</para>
</listitem>
<listitem>
<para>
Change the row constructor syntax (<literal>ROW(...)</>)
so that list elements <literal>foo.*</> will be expanded
to a list of their member fields, rather than creating a
nested rowtype field as formerly (Tom)
Array comparison improvements (Tom)
</para>
<para>
The new behavior is substantially more useful since it
allows, for example, triggers to check for data changes
with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
The old behavior is still available by omitting <literal>.*</>.
Now array dimensions are also compared.
</para>
</listitem>
<listitem>
<para>
Have <command>SET CONSTRAINT</> affect only one constraint
(Kris Jurka)
Change array concatenation to match documented behavior
(Tom)
</para>
<para>
In previous releases, <command>SET CONSTRAINT</> modified
all constraints with a matching name. In this release,
the schema search path is used to modify only the first
matching constraint. A schema specification is also
supported.
This changes the previous behavior where concatenation
would adjust the lower array dimensions.
</para>
</listitem>
<listitem>
<para>
Remove rule permission for tables, for security reasons
(Tom)
Make command-line options of postmaster and postgres
identical (Peter)
</para>
<para>
In this release, only a table's owner can create or modify
rules for the table. For backwards compatibility,
<command>GRANT</>/<command>REVOKE RULE</> is still accepted,
but it does nothing.
This allows the postmaster to pass arguments to each backend
without using <literal>-o</>.
</para>
</listitem>
<listitem>
<para>
Array comparison improvements (Tom)
Deprecate use of <application>postmaster</> symlink (Peter)
</para>
<para>
Now array dimensions are also compared.
<application>postmaster</> and <application>postgres</>
commands now act identically, with the behavior determined
by switches. The <application>postmaster</> symlink is
kept for compatibility, but is not really needed.
</para>
</listitem>
<listitem>
<para>
Change array concatenation to match documented behavior
(Tom)
Change <envar>log_duration</> to output even if the query
is not output (Tom)
</para>
<para>
This changes the previous behavior where concatenation
would adjust the lower array dimensions.
In prior releases, <envar>log_duration</> only printed if
the query appeared earlier in the logs.
</para>
</listitem>
......@@ -240,6 +239,19 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Improve cost estimation for nestloop index scans (Tom)
</para>
<para>
This may eliminate the need to set unrealistically small
values of <envar>random_page_cost</>. If you have been
using a very small <envar>random_page_cost</>, please
recheck your test cases.
</para>
</listitem>
<listitem>
<para>
Change <application>libpq</> <function>PQdsplen()</> to
......@@ -262,23 +274,14 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
</para>
<para>
These ports no longer had active maintainers.
</para>
</listitem>
<listitem>
<para>
Make command-line options of postmaster and postgres
identical (Peter)
In /contrib/xml2, rename <function>xml_valid()</> to
<function>xml_is_well_formed()</> (Tom)
</para>
<para>
This allows the postmaster to pass arguments to each backend
without using <literal>-o</>.
<function>xml_valid()</> will remain for backward compability,
but its behavior will change to do schema checks in future
releases.
</para>
</listitem>
......@@ -304,14 +307,11 @@ For new features, add links to the documentation sections.
<listitem>
<para>
In /contrib/xml2, rename <function>xml_valid()</> to
<function>xml_is_well_formed()</> (Tom)
Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
</para>
<para>
<function>xml_valid()</> will remain for backward compability,
but its behavior will change to do schema checks in future
releases.
These ports no longer had active maintainers.
</para>
</listitem>
......@@ -472,6 +472,9 @@ For new features, add links to the documentation sections.
Teramoto)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -480,22 +483,55 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Improve performance of statistics monitoring, especially
<literal>stats_command_string</> (Tom, Bruce)
Allow a forced switch to a new xlog file (Simon Riggs, Tom)
</para>
<para>
This release sets <envar>stats_command_string</> to
<literal>on</> by default, now that its overhead is minimal.
This means <literal>pg_stat_activity</> now will show all
active queries by default.
This is valuable for keeping <acronym>PITR</> standby
servers in sync with the master. xlog file switching also
happens automatically during <function>pg_stop_backup()</>.
This ensures that <acronym>PITR</> servers have all xlog
files needed for recovery.
</para>
</listitem>
<listitem>
<para>
Add support for include directives in <filename>postgresql.conf</>
(Joachim Wieland)
Add <acronym>WAL</> informational functions (Simon Riggs)
</para>
<para>
Add functions for interrogating the current xlog insertion
point and determining <acronym>WAL</> filenames from the
hex <acronym>WAL</> locations displayed by
<function>pg_stop_backup()</> and friends.
</para>
</listitem>
<listitem>
<para>
Allow <acronym>WAL</> replay to be restored quicker in case
of a crash (Simon Riggs)
</para>
<para>
The server now does periodic checkpoints during <acronym>WAL</>
recovery, so if there is a crash, future <acronym>WAL</>
recovery is shortened. This also eliminates the need for
<acronym>PITR</> standby servers to replay the entire log
since the base backup if they crash.
</para>
</listitem>
<listitem>
<para>
Add <envar>archive_timeout</> to force xlog file switches
at a given interval (Simon Riggs)
</para>
<para>
This enforces a maximum delay for <acronym>PITR</> standby
servers.
</para>
</listitem>
......@@ -512,14 +548,14 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Allow <envar>full_page_writes</> to be turned <literal>off</>
again (Tom)
Add <literal>GRANT CONNECT ON DATABASE</>, to be used in
addition to <filename>pg_hba.conf</> (Gevik Babakhani)
</para>
<para>
This flag can now be used even with <acronym>PITR</>. It
is turned on automatically between <function>pg_start_backup()</>
and <function>pg_stop_backup()</> calls.
This gives SQL-control over database access, and works in
combination with the existing <filename>pg_hba.conf</>
controls.
</para>
</listitem>
......@@ -547,14 +583,12 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add <literal>GRANT CONNECT ON DATABASE</>, to be used in
addition to <filename>pg_hba.conf</> (Gevik Babakhani)
Track tables needing vacuum with more accuracy (Alvaro)
</para>
<para>
This gives SQL-control over database access, and works in
combination with the existing <filename>pg_hba.conf</>
controls.
This reduces the overhead involved in preventing transaction
ID wraparound.
</para>
</listitem>
......@@ -572,20 +606,35 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add <acronym>GUC</> <envar>update_process_title</> to
control whether the <application>ps</> display is updated
for every command, default to <literal>on</> (Bruce)
Improve performance of statistics monitoring, especially
<literal>stats_command_string</> (Tom, Bruce)
</para>
<para>
This release sets <envar>stats_command_string</> to
<literal>on</> by default, now that its overhead is minimal.
This means <literal>pg_stat_activity</> now will show all
active queries by default.
</para>
</listitem>
<listitem>
<para>
Track tables needing vacuum with more accuracy (Alvaro)
Add a <literal>waiting</> column to <literal>pg_stat_activity</>
(Tom)
</para>
<para>
This reduces the overhead involved in preventing transaction
ID wraparound.
This allows <literal>pg_stat_activity</> to show the same
information as the <literal>ps</> display.
</para>
</listitem>
<listitem>
<para>
Add <acronym>GUC</> <envar>update_process_title</> to
control whether the <application>ps</> display is updated
for every command, default to <literal>on</> (Bruce)
</para>
</listitem>
......@@ -601,6 +650,13 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Add support for include directives in <filename>postgresql.conf</>
(Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
Improve logging of protocol-level prepare/bind/execute
......@@ -613,100 +669,66 @@ For new features, add links to the documentation sections.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Query Changes</title>
<itemizedlist>
<listitem>
<para>
Allow a forced switch to a new xlog file (Simon Riggs, Tom)
Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
<literal>RETURNING</> (Jonah Harris, Tom)
</para>
<para>
This is valuable for keeping <acronym>PITR</> standby
servers in sync with the master. xlog file switching also
happens automatically during <function>pg_stop_backup()</>.
This ensures that <acronym>PITR</> servers have all xlog
files needed for recovery.
This allows these commands to return values, such as the
computed serial key for a new row. In the <command>UPDATE</>
case, values from the new state of the row are returned.
</para>
</listitem>
<listitem>
<para>
Add <acronym>WAL</> informational functions (Simon Riggs)
</para>
<para>
Add functions for interrogating the current xlog insertion
point and determining <acronym>WAL</> filenames from the
hex <acronym>WAL</> locations displayed by
<function>pg_stop_backup()</> and friends.
</para>
</listitem>
<listitem>
<para>
Allow <acronym>WAL</> replay to be restored quicker in case
of a crash (Simon Riggs)
</para>
<para>
The server now does periodic checkpoints during <acronym>WAL</>
recovery, so if there is a crash, future <acronym>WAL</>
recovery is shortened. This also eliminates the need for
<acronym>PITR</> standby servers to replay the entire log
since the base backup if they crash.
</para>
</listitem>
<listitem>
<para>
Add <envar>archive_timeout</> to force xlog file switches
at a given interval (Simon Riggs)
</para>
<para>
This enforces a maximum delay for <acronym>PITR</> standby
servers.
</para>
</listitem>
<listitem>
<para>
Add a <literal>waiting</> column to <literal>pg_stat_activity</>
(Tom)
Add support for multi-row <literal>VALUES</> clauses as
part of <command>INSERT</> and <command>SELECT</> statements
(Joe, Tom)
</para>
<para>
This allows <literal>pg_stat_activity</> to show the same
information as the <literal>ps</> display.
This allows <command>INSERT</> to insert multiple rows of
constants, or queries to generate result sets using constants.
For example, <literal>INSERT ... VALUES (...), (...),
....</>, and <literal>SELECT * FROM (VALUES (...), (...),
....) AS alias(f1, ...)</>.
</para>
</listitem>
</sect3>
<sect3>
<title>Query Changes</title>
<itemizedlist>
<listitem>
<para>
Support portal parameters in <command>EXPLAIN</> and
<command>EXECUTE</> (Tom)
Allow <command>UPDATE</> and <command>DELETE</> to use an
alias for the target table (Atsushi Ogawa)
</para>
<para>
This allows, for example, <literal>?</> parameters to work
in these commands in <acronym>JDBC</>.
This allows these statements to support self-joins more
conveniently. <command>UPDATE</> already supported as
<literal>FROM</> clause, but <command>DELETE</> did not.
</para>
</listitem>
<listitem>
<para>
Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule)
Allow <command>UPDATE</> to set multiple columns with a
list of values (Susanne Ebrecht)
</para>
<para>
It is similar to equals (<literal>=</>), but is true when
both left and right arguments are <literal>NULL</>, and
false when just one is, rather than yielding <literal>NULL</>
in these cases.
This is basically as short-hand for assigning the columns
and values in pairs. The syntax is <literal>UPDATE tab
SET (col, ...) = (val, ...)</>.
</para>
</listitem>
......@@ -722,57 +744,59 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add system view <literal>pg_prepared_statements</> to show
prepared statements (Joachim Wieland)
Add <literal>CASCADE</> option to <command>TRUNCATE</>
(Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
Add system view <literal>pg_cursors</> to show open cursors
(Joachim Wieland)
This allows <command>TRUNCATE</> also to automatically
truncate all foreign-key referencing tables.
</para>
</listitem>
<listitem>
<para>
Both this and <literal>pg_prepared_statements</> are very
useful for pooled connection setups.
Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
in the same command (Tom)
</para>
</listitem>
<listitem>
<para>
If <acronym>SQL</>-level <command>PREPARE</> parameters
are unknown, infer their types from the context of the
query (Neil)
Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule)
</para>
<para>
Protocol-level <command>PREPARE</> already did this. ?
It is similar to equals (<literal>=</>), but is true when
both left and right arguments are <literal>NULL</>, and
false when just one is, rather than yielding <literal>NULL</>
in these cases.
</para>
</listitem>
<listitem>
<para>
Allow <command>UPDATE</> and <command>DELETE</> to use an
alias for the target table (Atsushi Ogawa)
Improve the length output used by
<literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
(Tom)
</para>
<para>
This allows these statements to support self-joins more
conveniently. <command>UPDATE</> already supported as
<literal>FROM</> clause, but <command>DELETE</> did not.
When all columns are of the same defined length, that length
is used for output, rather than a generic length.
</para>
</listitem>
<listitem>
<para>
Add <literal>CASCADE</> option to <command>TRUNCATE</>
(Joachim Wieland)
Allow <literal>ILIKE</> to work for multi-byte encodings
(Tom)
</para>
<para>
This allows <command>TRUNCATE</> also to automatically
truncate all foreign-key referencing tables.
Internally, <literal>ILIKE</> now calls <function>lower()</>
and then uses <literal>LIKE</>. Locale-specific regular
expression operations still do not work in these encodings.
</para>
</listitem>
......@@ -792,83 +816,44 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
in the same command (Tom)
</para>
</listitem>
<listitem>
<para>
Change <literal>LIMIT</>/<literal>OFFSET</> to exceed
two billion</> (Dhanaraj M)
</para>
</listitem>
<listitem>
<para>
Add support for multi-row <literal>VALUES</> clauses as
part of <command>INSERT</> and <command>SELECT</> statements
(Joe, Tom)
</para>
<para>
This allows <command>INSERT</> to insert multiple rows of
constants, or queries to generate result sets using constants.
For example, <literal>INSERT ... VALUES (...), (...),
....</>, and <literal>SELECT * FROM (VALUES (...), (...),
....) AS alias(f1, ...)</>.
</para>
</listitem>
<listitem>
<para>
Improve the length output used by
<literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
(Tom)
</para>
<para>
When all columns are of the same defined length, that length
is used for output, rather than a generic length.
Add system view <literal>pg_prepared_statements</> to show
prepared statements (Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
<literal>RETURNING</> (Jonah Harris, Tom)
Add system view <literal>pg_cursors</> to show open cursors
(Joachim Wieland)
</para>
<para>
This allows these commands to return values, such as the
computed serial key for a new row. In the <command>UPDATE</>
case, values from the new state of the row are returned.
Both this and <literal>pg_prepared_statements</> are very
useful for pooled connection setups.
</para>
</listitem>
<listitem>
<para>
Allow <command>UPDATE</> to set multiple columns with a
list of values (Susanne Ebrecht)
Support portal parameters in <command>EXPLAIN</> and
<command>EXECUTE</> (Tom)
</para>
<para>
This is basically as short-hand for assigning the columns
and values in pairs. The syntax is <literal>UPDATE tab
SET (col, ...) = (val, ...)</>.
This allows, for example, <literal>?</> parameters to work
in these commands in <acronym>JDBC</>.
</para>
</listitem>
<listitem>
<para>
Allow <literal>ILIKE</> to work for multi-byte encodings
(Tom)
If <acronym>SQL</>-level <command>PREPARE</> parameters
are unknown, infer their types from the context of the
query (Neil)
</para>
<para>
Internally, <literal>ILIKE</> now calls <function>lower()</>
and then uses <literal>LIKE</>. Locale-specific regular
expression operations still do not work in these encodings.
Protocol-level <command>PREPARE</> already did this. ?
</para>
</listitem>
......@@ -886,19 +871,13 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Do not flatten subqueries that contain <literal>VOLATILE</>
functions in their target lists (Jaime Casanova)
</para>
<para>
This prevents surprising behavior due to multiple evaluation
of a <literal>volatile</> function (such as <function>random()</>
or <function>nextval()</>). It may cause performance
degradation in the presence of functions that are unnecessarily
marked as <literal>volatile</>.
Change <literal>LIMIT</>/<literal>OFFSET</> to exceed
two billion (Dhanaraj M)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -907,162 +886,136 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add <command>DROP</> object <literal>IF EXISTS</> for many
object types (Andrew)
</para>
<para>
This allows <command>DROP</> operations on non-existent
objects without generating an error.
Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
to <command>CREATE TABLE AS</> (Neil)
</para>
</listitem>
<listitem>
<para>
Add <literal>DROP OWNED</> to drop all objects owned by a
role (Alvaro)
This allows the tablespace to be specified for the new
table.
</para>
</listitem>
<listitem>
<para>
Add <literal>REASSIGN OWNED</> to reassign ownership of
all objects owned by a role (Alvaro)
</para>
<para>
This, and <literal>DROP OWNED</> above, facilitate dropping
roles.
Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
AS</> (Neil)
</para>
</listitem>
<listitem>
<para>
Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
which removes the role's password (Peter)
This allows temporary tables to be truncated or dropped on
transaction commit. The default behavior is for the table
to remain until the session ends.
</para>
</listitem>
<listitem>
<para>
Properly enforce <literal>DOMAIN</> check constraints
everywhere (Neil, Tom)
Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
TABLE LIKE</> (Greg Stark)
</para>
<para>
For example, the result of a user-defined function that is
declared to return a domain type is now checked against
the constraints.
This allows the new table to receive matching constraints.
</para>
</listitem>
<listitem>
<para>
Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
Allow the creation of placeholder (shell) types (Martijn van
Oosterhout)
</para>
<para>
This was added for setting sequence-specific permissions.
<literal>GRANT ON [TABLE]</> for sequences is still supported
for backward compatibility.
Shell types create a type reference, without specifying
any of the aspects of the type. It is useful for creating
types with input/output functions that reference the data
type. The syntax is <command>CREATE TYPE typname</>.
</para>
</listitem>
<listitem>
<para>
Add <literal>USAGE</> permission for sequences that allows
only <function>currval()</> and <function>nextval()</>,
not <function>setval()</> (Bruce)
Add new aggregate creation syntax (Tom)
</para>
<para>
<literal>USAGE</> permission allows more find-grained
control over sequence access. It allows users to increment
a sequence, but prevents them from setting the sequence to
an arbitrary value using <function>setval()</>.
The new syntax is <command>CREATE AGGREGATE</> aggname
(input_type) (parameter_list). This more naturally supports
the new multi-parameter aggregate functionality. The
previous syntax is still supported.
</para>
</listitem>
<listitem>
<para>
Allow comments on global objects to be stored globally
(Kris Jurka)
Aggregate functions now support multiple input parameters
(Sergey Koposov, Tom)
</para>
</listitem>
<listitem>
<para>
Previously, global object comments were stored in individual
databases, making them ineffective. This adds a new
<literal>pg_shdescription</> table.
Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
which removes the role's password (Peter)
</para>
</listitem>
<listitem>
<para>
Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
AS</> (Neil)
Add <command>DROP</> object <literal>IF EXISTS</> for many
object types (Andrew)
</para>
<para>
This allows temporary tables to be truncated or dropped on
transaction commit. The default behavior is for the table
to remain until the session ends.
This allows <command>DROP</> operations on non-existent
objects without generating an error.
</para>
</listitem>
<listitem>
<para>
Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
to <command>CREATE TABLE AS</> (Neil)
</para>
<para>
This allows the tablespace to be specified for the new
table.
Add <literal>DROP OWNED</> to drop all objects owned by a
role (Alvaro)
</para>
</listitem>
<listitem>
<para>
Allow placeholder (shell) types to be created (Martijn van
Oosterhout)
Add <literal>REASSIGN OWNED</> to reassign ownership of
all objects owned by a role (Alvaro)
</para>
<para>
Shell types create a type reference, without specifying
any of the aspects of the type. It is useful for creating
types with input/output functions that reference the data
type. The syntax is <command>CREATE TYPE typname</>.
This, and <literal>DROP OWNED</> above, facilitate dropping
roles.
</para>
</listitem>
<listitem>
<para>
Add new aggregate creation syntax (Tom)
</para>
<para>
The new syntax is <command>CREATE AGGREGATE</> aggname
(input_type) (parameter_list). This more naturally supports
the new multi-parameter aggregate functionality. The
previous syntax is still supported.
Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
</para>
</listitem>
<listitem>
<para>
Aggregate functions now support multiple input parameters
(Sergey Koposov, Tom)
This was added for setting sequence-specific permissions.
<literal>GRANT ON [TABLE]</> for sequences is still supported
for backward compatibility.
</para>
</listitem>
<listitem>
<para>
Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
TABLE LIKE</> (Greg Stark)
Add <literal>USAGE</> permission for sequences that allows
only <function>currval()</> and <function>nextval()</>,
not <function>setval()</> (Bruce)
</para>
<para>
This allows the new table to receive matching constraints.
<literal>USAGE</> permission allows more find-grained
control over sequence access. It allows users to increment
a sequence, but prevents them from setting the sequence to
an arbitrary value using <function>setval()</>.
</para>
</listitem>
......@@ -1079,6 +1032,21 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Allow comments on global objects to be stored globally
(Kris Jurka)
</para>
<para>
Previously, global object comments were stored in individual
databases, making them ineffective. This adds a new
<literal>pg_shdescription</> table.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1087,20 +1055,26 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Reduce progress messages displayed by initdb (Tom)
Add option to allow indexes to be created without blocking
concurrent writes to the table (Greg Stark)
</para>
<para>
The new syntax is <command>CREATE INDEX CONCURRENTLY</>.
The default behavior is still to block table modification
while a index is being created.
</para>
</listitem>
<listitem>
<para>
Have initdb detect the operating system locale and set the
default <envar>DateStyle</> accordingly (Peter)
Allow <command>COPY</> to dump a <command>SELECT</> query
(Zoltan Boszormenyi, Karel Zak)
</para>
<para>
This make it more likely that the installed
<filename>postgresql.conf</> <envar>DateStyle</> value will
be correct.
This allows <command>COPY</> to dump arbitrary <acronym>SQL</>
queries. The syntax is <literal>COPY (SELECT ...) TO</>.
</para>
</listitem>
......@@ -1121,79 +1095,82 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Avoid extra scan of tables without indexes during <command>VACUUM</>
(Greg Stark)
</para>
</listitem>
<listitem>
<para>
Add option to allow indexes to be created without blocking
concurrent writes to the table (Greg Stark)
Have initdb detect the operating system locale and set the
default <envar>DateStyle</> accordingly (Peter)
</para>
<para>
The new syntax is <command>CREATE INDEX CONCURRENTLY</>.
The default behavior is still to block table modification
while a index is being created.
This make it more likely that the installed
<filename>postgresql.conf</> <envar>DateStyle</> value will
be correct.
</para>
</listitem>
<listitem>
<para>
Allow <command>COPY</> to dump a <command>SELECT</> query
(Zoltan Boszormenyi, Karel Zak)
Avoid extra scan of tables without indexes during <command>VACUUM</>
(Greg Stark)
</para>
</listitem>
<listitem>
<para>
This allows <command>COPY</> to dump arbitrary <acronym>SQL</>
queries. The syntax is <literal>COPY (SELECT ...) TO</>.
Reduce progress messages displayed by initdb (Tom)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Data Type and Function Changes</title>
<title>Date/Time Changes</title>
<itemizedlist>
<listitem>
<para>
Allow arrays to contain <literal>NULL</> elements (Tom)
Allow full timezone names in <type>timestamp</> values
(Joachim Wieland)
</para>
<para>
For example, <literal>'2006-05-24 21:11
America/New_York'::timestamptz</>.
</para>
</listitem>
<listitem>
<para>
Allow <function>to_char(time)</> and <function>to_char(interval)</>
to output <acronym>AM</>/<acronym>PM</> specifications
(Bruce)
Create a configuration file of timezone abbreviations
(Joachim Wieland)
</para>
<para>
Intervals and times are treated as 24-hour periods, e.g.
<literal>25 hours</> is <acronym>AM</>.
The file name is controlled by GUC variable
<envar>timezone_abbreviations</>.
</para>
</listitem>
<listitem>
<para>
Add a server-side sleep function <function>pg_sleep()</>
(Joachim Wieland)
Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</>
views to show supported timezones (Magnus Hagander)
</para>
</listitem>
<listitem>
<para>
Add convenient arithmetic operations on <type>INET</>/<type>CIDR</>
values (Stephen R. van den Berg)
Add <function>clock_timestamp()</>,
<function>statement_timestamp()</>, and
<function>transaction_timestamp()</> (Bruce)
</para>
<para>
The new operators are <literal>&</> (and), <literal>|</>
(or), <literal>~</> (not), <literal>+</> <type>int8</>,
<literal>-</> <type>int8</>, and <type>inet</> <literal>-</>
<type>inet</>.
<function>clock_timestamp()</> is the true current time,
and <function>statement_timestamp()</> is the time the
current command arrived at the server.
<function>transaction_timestamp()</> is the same as
<function>now()</>.
</para>
</listitem>
......@@ -1206,8 +1183,14 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add all comparison operators for the <type>tid</> data type
(Mark Kirkwood, Greg Stark, Tom)
Allow <function>to_char(time)</> and <function>to_char(interval)</>
to output <acronym>AM</>/<acronym>PM</> specifications
(Bruce)
</para>
<para>
Intervals and times are treated as 24-hour periods, e.g.
<literal>25 hours</> is <acronym>AM</>.
</para>
</listitem>
......@@ -1220,17 +1203,22 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add new aggregate functions from SQL2003 (Neil)
Interval computation improvements (Michael Glaesemann,
Bruce)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Other Data Type and Function Changes</title>
<itemizedlist>
<listitem>
<para>
The new functions are <function>var_pop()</>,
<function>var_samp()</>, <function>stddev_pop()</>, and
<function>stddev_samp()</>. <function>var_samp()</> and
<function>stddev_samp()</> are merely renamings of the
existing aggregates <function>variance()</> and
<function>stddev()</>. The latter names have been kept
for backward compatibility.
Allow arrays to contain <literal>NULL</> elements (Tom)
</para>
</listitem>
......@@ -1247,70 +1235,66 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Allow domains to be created using other domains (Tom)
</para>
</listitem>
<listitem>
<para>
Add <function>clock_timestamp()</>,
<function>statement_timestamp()</>, and
<function>transaction_timestamp()</> (Bruce)
Add convenient arithmetic operations on <type>INET</>/<type>CIDR</>
values (Stephen R. van den Berg)
</para>
<para>
<function>clock_timestamp()</> is the true current time,
and <function>statement_timestamp()</> is the time the
current command arrived at the server.
<function>transaction_timestamp()</> is the same as
<function>now()</>.
The new operators are <literal>&</> (and), <literal>|</>
(or), <literal>~</> (not), <literal>+</> <type>int8</>,
<literal>-</> <type>int8</>, and <type>inet</> <literal>-</>
<type>inet</>.
</para>
</listitem>
<listitem>
<para>
Allow full timezone names in <type>timestamp</> values
(Joachim Wieland)
Add new aggregate functions from SQL2003 (Neil)
</para>
<para>
For example, <literal>'2006-05-24 21:11
America/New_York'::timestamptz</>.
The new functions are <function>var_pop()</>,
<function>var_samp()</>, <function>stddev_pop()</>, and
<function>stddev_samp()</>. <function>var_samp()</> and
<function>stddev_samp()</> are merely renamings of the
existing aggregates <function>variance()</> and
<function>stddev()</>. The latter names have been kept
for backward compatibility.
</para>
</listitem>
<listitem>
<para>
Create a configuration file of timezone abbreviations
(Joachim Wieland)
Add SQL2003-standard statistical aggregates (Sergey Koposov)
</para>
<para>
The file name is controlled by GUC variable
<envar>timezone_abbreviations</>.
New functions: <function>regr_intercept()</>,
<function>regr_slope()</>, <function>regr_r2()</>,
<function>corr()</>, <function>covar_samp()</>,
<function>covar_pop()</>, <function>regr_avgx()</>,
<function>regr_avgy()</>, <function>regr_sxy()</>,
<function>regr_sxx()</>, <function>regr_syy()</>,
<function>regr_count()</>
</para>
</listitem>
<listitem>
<para>
Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</>
views to show supported timezones (Magnus Hagander)
Allow domains to be created using other domains (Tom)
</para>
</listitem>
<listitem>
<para>
Add SQL2003-standard statistical aggregates (Sergey Koposov)
Properly enforce <literal>DOMAIN</> check constraints
everywhere (Neil, Tom)
</para>
<para>
New functions: <function>regr_intercept()</>,
<function>regr_slope()</>, <function>regr_r2()</>,
<function>corr()</>, <function>covar_samp()</>,
<function>covar_pop()</>, <function>regr_avgx()</>,
<function>regr_avgy()</>, <function>regr_sxy()</>,
<function>regr_sxx()</>, <function>regr_syy()</>,
<function>regr_count()</>
For example, the result of a user-defined function that is
declared to return a domain type is now checked against
the constraints.
</para>
</listitem>
......@@ -1332,11 +1316,35 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Interval computation improvements (Michael Glaesemann,
Bruce)
Add a server-side sleep function <function>pg_sleep()</>
(Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
Add all comparison operators for the <type>tid</> (tuple id)
data type (Mark Kirkwood, Greg Stark, Tom)
</para>
</listitem>
<listitem>
<para>
Do not flatten subqueries that contain <literal>VOLATILE</>
functions in their target lists (Jaime Casanova) ?
</para>
<para>
This prevents surprising behavior due to multiple evaluation
of a <literal>volatile</> function (such as <function>random()</>
or <function>nextval()</>). It may cause performance
degradation in the presence of functions that are unnecessarily
marked as <literal>volatile</>.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1345,22 +1353,22 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Allow <literal>FOR</> statements to return values to scalars
as well as records and row types (Pavel Stehule)
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Andrew)
</para>
</listitem>
<listitem>
<para>
Add a <literal>BY</> clause to the <literal>FOR</> loop,
to control the iteration increment (Jaime Casanova)
Allow <literal>FOR</> statements to return values to scalars
as well as records and row types (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Andrew)
Add a <literal>BY</> clause to the <literal>FOR</> loop,
to control the iteration increment (Jaime Casanova)
</para>
</listitem>
......@@ -1377,6 +1385,8 @@ For new features, add links to the documentation sections.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1385,24 +1395,18 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Honor <envar>check_function_bodies</> (Tom)
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Adam Sj&oslash;gren)
</para>
</listitem>
<listitem>
<para>
Add prepared queries (Dmitry Karasik)
<literal>relname</> is kept but now deprecated
</para>
</listitem>
<listitem>
<para>
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Adam Sj&oslash;gren)
</para>
<para>
<literal>relname</> is kept but now deprecated
Add prepared queries (Dmitry Karasik)
</para>
</listitem>
......@@ -1417,6 +1421,14 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Honor <envar>check_function_bodies</> (Tom)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1425,44 +1437,46 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Allow functions to return <literal>void</> (Neil)
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Andrew)
</para>
</listitem>
<listitem>
<para>
Add named parameters to the <literal>args[]</> array (Sven
Suursoho)
Allow returning of <literal>composite types</> and
<literal>result sets</> (Sven Suursoho)
</para>
</listitem>
<listitem>
<para>
Return composite-types as dictionary (Sven Suursoho)
Return result-set as <literal>list</>, <literal>iterator</>,
or <literal>generator </>(Sven Suursoho)
</para>
</listitem>
<listitem>
<para>
Return result-set as <literal>list</>, <literal>iterator</>,
or <literal>generator </>(Sven Suursoho)
Return composite-types as dictionary (Sven Suursoho)
</para>
</listitem>
<listitem>
<para>
Allow returning of <literal>composite types</> and
<literal>result sets</> (Sven Suursoho)
Allow functions to return <literal>void</> (Neil)
</para>
</listitem>
<listitem>
<para>
Add <literal>table_name</> and <literal>table_schema</> as
trigger data (Andrew)
Add named parameters to the <literal>args[]</> array (Sven
Suursoho)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1478,26 +1492,28 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Allow multi-line values to align in the proper column
(Martijn van Oosterhout)
Allow <literal>\c</> to connect to a new host and port
number (David, Volkan Yaz&#305;c&#305;)
</para>
</listitem>
<listitem>
<para>
Save multi-line statements as a single entry, rather than
one line at a time (Sergey E. Koposov)
Add tablespace display to <literal>\l+</> (Philip Yarra)
</para>
</listitem>
<listitem>
<para>
This makes up-arrow recall of queries easier.
Improve <literal>\df</> slash command to include the argument
names and modes (<literal>OUT</> or <literal>INOUT</>) of
the function (David Fetter)
</para>
</listitem>
<listitem>
<para>
Allow <literal>\c</> to connect to a new host and port
number (David, Volkan Yaz&#305;c&#305;)
Support binary <command>COPY</> (Andreas Pflug)
</para>
</listitem>
......@@ -1514,28 +1530,37 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Improve highlighting of error location in query in more
cases (Tom)
Support retrieving <command>SELECT</> results in batches
using a cursor (Chris Mair)
</para>
<para>
This is accomplished using <command>\set FETCH_COUNT</>.
</para>
</listitem>
<listitem>
<para>
Add tablespace display to <literal>\l+</> (Philip Yarra)
Allow multi-line values to align in the proper column
(Martijn van Oosterhout)
</para>
</listitem>
<listitem>
<para>
Support binary <command>COPY</> (Andreas Pflug)
Save multi-line statements as a single entry, rather than
one line at a time (Sergey E. Koposov)
</para>
<para>
This makes up-arrow recall of queries easier.
</para>
</listitem>
<listitem>
<para>
Improve <literal>\df</> slash command to include the argument
names and modes (<literal>OUT</> or <literal>INOUT</>) of
the function (David Fetter)
Improve highlighting of error location in query in more
cases (Tom)
</para>
</listitem>
......@@ -1554,16 +1579,7 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Support retrieving <command>SELECT</> results in batches
using a cursor (Chris Mair)
</para>
<para>
This is accomplished using <command>\set FETCH_COUNT</>.
</para>
</listitem>
</itemizedlist>
</sect3>
......@@ -1606,6 +1622,8 @@ For new features, add links to the documentation sections.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1624,14 +1642,6 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Allow the <filename>.pgpass</> hostname to match the default
socket directory, as well as a blank <literal>pghost</>
(Bruce)
</para>
</listitem>
<listitem>
<para>
Add function <function>PQisthreadsafe()</> (Bruce)
......@@ -1643,6 +1653,15 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Add <function>PQdescribePrepared()</>,
<function>PQdescribePortal()</>, and related functions
return information about previously prepared statements
and open cursors (Volkan Yaz&#305;c&#305;)
</para>
</listitem>
<listitem>
<para>
Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</>
......@@ -1652,13 +1671,14 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add <function>PQdescribePrepared()</>,
<function>PQdescribePortal()</>, and related functions
return information about previously prepared statements
and open cursors (Volkan Yaz&#305;c&#305;)
Allow the <filename>.pgpass</> hostname to match the default
socket directory, as well as a blank <literal>pghost</>
(Bruce)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1690,6 +1710,8 @@ For new features, add links to the documentation sections.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1698,19 +1720,15 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Improve handling of intermittent file system and resource
failures (Qingqing Zhou)
Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</>
server (Magnus, Hiroshi Saito)
</para>
</listitem>
<listitem>
<para>
Stability fixes (Magnus)
</para>
<para>
Particularly, prevent the postmaster from stopping if too
many connection requests arrive too rapidly.
Add <acronym>MSVC</> support for utility commands and
<application>pg_dump </>(Hiroshi Saito)
</para>
</listitem>
......@@ -1724,15 +1742,19 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</>
server (Magnus, Hiroshi Saito)
Improve handling of intermittent file system and resource
failures (Qingqing Zhou)
</para>
</listitem>
<listitem>
<para>
Add <acronym>MSVC</> support for utility commands and
<application>pg_dump </>(Hiroshi Saito)
Stability fixes (Magnus)
</para>
<para>
Particularly, prevent the postmaster from stopping if too
many connection requests arrive too rapidly.
</para>
</listitem>
......@@ -1746,12 +1768,21 @@ For new features, add links to the documentation sections.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Source Code Changes</title>
<itemizedlist>
<listitem>
<para>
Add <acronym>GIN</> (Generalized Inverted iNdex) index
access method (Teodor) ?
</para>
</listitem>
<listitem>
<para>
Remove R-tree indexing (Tom)
......@@ -1769,14 +1800,6 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
New macro <literal>PG_VERSION_NUM</> for use by third-party
applications wanting to test the backend version in C using
&gt; and &lt; comparisons (Bruce)
</para>
</listitem>
<listitem>
<para>
Add a configure flag to allow libedit to be preferred over
......@@ -1810,6 +1833,20 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Add <application>DTrace</> support (Robert Lor)
</para>
</listitem>
<listitem>
<para>
Add <literal>PG_VERSION_NUM</> for use by third-party
applications wanting to test the backend version in C using &gt;
and &lt; comparisons (Bruce)
</para>
</listitem>
<listitem>
<para>
Add <literal>XLOG_BLCKSZ</> as independent from <literal>BLCKSZ</>
......@@ -1826,27 +1863,29 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add <acronym>GIN</> (Generalized Inverted iNdex) index
access method (Teodor)
Emit warnings for unknown <application>configure</> options
(Martijn van Oosterhout)
</para>
</listitem>
<listitem>
<para>
Emit warnings for unknown <application>configure</> options
(Martijn van Oosterhout)
Rename existing <acronym>GUC</> variable
<envar>preload_libraries</> to <envar>shared_preload_libraries</>
(Tom)
</para>
</listitem>
<listitem>
<para>
Add <literal>PG_MODULE_MAGIC</> header block to all shared
object files (Martijn van Oosterhout)
Add new GUC variable <envar>server_version_num</> (Greg Sabino
Mullane)
</para>
<para>
The magic blocks prevent version mismatches between object
files and servers.
This is like server_version, but is an integer, e.g.
<literal>80200</>. It allows easy applications version
checks.
</para>
</listitem>
......@@ -1864,12 +1903,6 @@ For new features, add links to the documentation sections.
</para>
</listitem>
<listitem>
<para>
Add <application>DTrace</> support (Robert Lor)
</para>
</listitem>
<listitem>
<para>
Allow loadable modules to allocate shared memory and
......@@ -1894,34 +1927,25 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add support for libraries that enhance server-side languages
(Korry Douglas)
</para>
<para>
Such libraries can be used for debugging or performance
measurement.
Add <literal>PG_MODULE_MAGIC</> header block to all shared
object files (Martijn van Oosterhout)
</para>
</listitem>
<listitem>
<para>
Rename existing <acronym>GUC</> variable
<envar>preload_libraries</> to <envar>shared_preload_libraries</>
(Tom)
The magic blocks prevent version mismatches between object
files and servers.
</para>
</listitem>
<listitem>
<para>
Add new variable <envar>server_version_num</> (Greg Sabino
Mullane)
Add support for libraries that enhance server-side languages
(Korry Douglas)
</para>
<para>
This is like server_version, but is an integer, e.g.
<literal>80200</>. It allows easy applications version
checks.
Such libraries can be used for debugging or performance
measurement.
</para>
</listitem>
......@@ -1931,6 +1955,8 @@ For new features, add links to the documentation sections.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
......@@ -1982,109 +2008,110 @@ For new features, add links to the documentation sections.
<listitem>
<para>
Add pg_freespacemap to display free space map information
(Mark Kirkwood)
Add <application>Pgadmin</> administration functions to
adminpack (Dave)
</para>
</listitem>
<listitem>
<para>
New uninstall scripts (David)
These functions provide additional file system access
routines not present in the default <productname>PostgreSQL</>
server.
</para>
</listitem>
<listitem>
<para>
Add pgrowlocks (Tatsuo)
Add sslinfo (Victor Wagner)
</para>
<para>
This shows row locking information for a specified table.
Reports information about the current <acronym>SSL</>
certificate.
</para>
</listitem>
<listitem>
<para>
Add <application>Pgadmin</> administration functions to
adminpack (Dave)
Add pgrowlocks (Tatsuo)
</para>
<para>
These functions provide additional file system access
routines not present in the default <productname>PostgreSQL</>
server.
This shows row locking information for a specified table.
</para>
</listitem>
<listitem>
<para>
Add index information to pgstattuple (ITAGAKI Takahiro,
Satoshi Nagayasu)
Add hstore module (Oleg, Teodor)
</para>
</listitem>
<listitem>
<para>
pgcrypto now has all planned functionality (Marko Kreen)
Add isn module, replacing isbn_issn (Jeremy Kronuz)
</para>
<para>
This now supports <acronym>EAN13</>, <acronym>UPC</>,
<acronym>ISBN</> (books), <acronym>ISMN</> (music), and
<acronym>ISSN</> (serials).
</para>
</listitem>
<listitem>
<para>
Update cube (Joshua Reich)
Add index information to pgstattuple (ITAGAKI Takahiro,
Satoshi Nagayasu)
</para>
</listitem>
<listitem>
<para>
New functions are <function>cube(float[])</>,
<function>cube(float[], float[])</>, and
<function>cube_subset(cube, int4[])</>.
Add pg_freespacemap to display free space map information
(Mark Kirkwood)
</para>
</listitem>
<listitem>
<para>
Added async query capability to dblink (Kai Londenberg,
Joe Conway)
pgcrypto now has all planned functionality (Marko Kreen)
</para>
</listitem>
<listitem>
<para>
Add sslinfo (Victor Wagner)
Update cube (Joshua Reich)
</para>
<para>
Reports information about the current <acronym>SSL</>
certificate.
New functions are <function>cube(float[])</>,
<function>cube(float[], float[])</>, and
<function>cube_subset(cube, int4[])</>.
</para>
</listitem>
<listitem>
<para>
Add hstore module (Oleg, Teodor)
Add async query capability to dblink (Kai Londenberg,
Joe Conway)
</para>
</listitem>
<listitem>
<para>
Add isn module, replacing isbn_issn (Jeremy Kronuz)
</para>
<para>
This now supports <acronym>EAN13</>, <acronym>UPC</>,
<acronym>ISBN</> (books), <acronym>ISMN</> (music), and
<acronym>ISSN</> (serials).
New operators for array-subset comparisons (<literal>@&gt;</>,
<literal>&lt;@</>, <literal>&amp;&amp;</>) (Tom)
</para>
</listitem>
<listitem>
<para>
New operators for array-subset comparisons (<literal>@&gt;</>,
<literal>&lt;@</>, <literal>&amp;&amp;</>) (Tom)
New uninstall scripts (David)
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment