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