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,7 +472,10 @@ For new features, add links to the documentation sections. ...@@ -472,7 +472,10 @@ For new features, add links to the documentation sections.
Teramoto) Teramoto)
</para> </para>
</listitem> </listitem>
</sect3>
</itemizedlist>
</sect3>
<sect3> <sect3>
<title>Server Changes</title> <title>Server Changes</title>
...@@ -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,87 +669,95 @@ For new features, add links to the documentation sections. ...@@ -613,87 +669,95 @@ 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
part of <command>INSERT</> and <command>SELECT</> statements
(Joe, Tom)
</para> </para>
<para> <para>
Add functions for interrogating the current xlog insertion This allows <command>INSERT</> to insert multiple rows of
point and determining <acronym>WAL</> filenames from the constants, or queries to generate result sets using constants.
hex <acronym>WAL</> locations displayed by For example, <literal>INSERT ... VALUES (...), (...),
<function>pg_stop_backup()</> and friends. ....</>, and <literal>SELECT * FROM (VALUES (...), (...),
....) AS alias(f1, ...)</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <acronym>WAL</> replay to be restored quicker in case Allow <command>UPDATE</> and <command>DELETE</> to use an
of a crash (Simon Riggs) alias for the target table (Atsushi Ogawa)
</para> </para>
<para> <para>
The server now does periodic checkpoints during <acronym>WAL</> This allows these statements to support self-joins more
recovery, so if there is a crash, future <acronym>WAL</> conveniently. <command>UPDATE</> already supported as
recovery is shortened. This also eliminates the need for <literal>FROM</> clause, but <command>DELETE</> did not.
<acronym>PITR</> standby servers to replay the entire log
since the base backup if they crash.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <envar>archive_timeout</> to force xlog file switches Allow <command>UPDATE</> to set multiple columns with a
at a given interval (Simon Riggs) list of values (Susanne Ebrecht)
</para> </para>
<para> <para>
This enforces a maximum delay for <acronym>PITR</> standby This is basically as short-hand for assigning the columns
servers. and values in pairs. The syntax is <literal>UPDATE tab
SET (col, ...) = (val, ...)</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a <literal>waiting</> column to <literal>pg_stat_activity</> Allow additional row value comparisons (Tom)
(Tom)
</para> </para>
<para> <para>
This allows <literal>pg_stat_activity</> to show the same Add &lt;, &lt;=, &gt;, &gt;=.
information as the <literal>ps</> display.
</para> </para>
</listitem> </listitem>
</sect3>
<sect3>
<title>Query Changes</title>
<itemizedlist>
<listitem> <listitem>
<para> <para>
Support portal parameters in <command>EXPLAIN</> and Add <literal>CASCADE</> option to <command>TRUNCATE</>
<command>EXECUTE</> (Tom) (Joachim Wieland)
</para> </para>
<para> <para>
This allows, for example, <literal>?</> parameters to work This allows <command>TRUNCATE</> also to automatically
in these commands in <acronym>JDBC</>. truncate all foreign-key referencing tables.
</para>
</listitem>
<listitem>
<para>
Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
in the same command (Tom)
</para> </para>
</listitem> </listitem>
...@@ -712,199 +776,191 @@ For new features, add links to the documentation sections. ...@@ -712,199 +776,191 @@ For new features, add links to the documentation sections.
<listitem> <listitem>
<para> <para>
Allow additional row value comparisons (Tom) Improve the length output used by
<literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
(Tom)
</para> </para>
<para> <para>
Add &lt;, &lt;=, &gt;, &gt;=. 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 system view <literal>pg_prepared_statements</> to show Allow <literal>ILIKE</> to work for multi-byte encodings
prepared statements (Joachim Wieland) (Tom)
</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.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add system view <literal>pg_cursors</> to show open cursors Enable <envar>standard_conforming_strings</> to be turned
(Joachim Wieland) <literal>on</> (Kevin Grittner)
</para> </para>
<para> <para>
Both this and <literal>pg_prepared_statements</> are very This allow special backslash escaping in strings to be
useful for pooled connection setups. turned off so <productname>PostgreSQL</> is more
standards-compliant. The default is <literal>off</>, but
future releases will default this to <literal>on</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
If <acronym>SQL</>-level <command>PREPARE</> parameters Add system view <literal>pg_prepared_statements</> to show
are unknown, infer their types from the context of the prepared statements (Joachim Wieland)
query (Neil)
</para>
<para>
Protocol-level <command>PREPARE</> already did this. ?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>UPDATE</> and <command>DELETE</> to use an Add system view <literal>pg_cursors</> to show open cursors
alias for the target table (Atsushi Ogawa) (Joachim Wieland)
</para> </para>
<para> <para>
This allows these statements to support self-joins more Both this and <literal>pg_prepared_statements</> are very
conveniently. <command>UPDATE</> already supported as useful for pooled connection setups.
<literal>FROM</> clause, but <command>DELETE</> did not.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>CASCADE</> option to <command>TRUNCATE</> Support portal parameters in <command>EXPLAIN</> and
(Joachim Wieland) <command>EXECUTE</> (Tom)
</para> </para>
<para> <para>
This allows <command>TRUNCATE</> also to automatically This allows, for example, <literal>?</> parameters to work
truncate all foreign-key referencing tables. in these commands in <acronym>JDBC</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Enable <envar>standard_conforming_strings</> to be turned If <acronym>SQL</>-level <command>PREPARE</> parameters
<literal>on</> (Kevin Grittner) are unknown, infer their types from the context of the
query (Neil)
</para> </para>
<para> <para>
This allow special backslash escaping in strings to be Protocol-level <command>PREPARE</> already did this. ?
turned off so <productname>PostgreSQL</> is more
standards-compliant. The default is <literal>off</>, but
future releases will default this to <literal>on</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support <literal>FOR UPDATE</> and <literal>FOR SHARE</> Protocol-level unnamed prepared statements are re-planned
in the same command (Tom) for each set of <literal>BIND</> values (Tom)
</para> </para>
</listitem>
<listitem>
<para> <para>
Change <literal>LIMIT</>/<literal>OFFSET</> to exceed This improves performance because the exact parameter values
two billion</> (Dhanaraj M) can be used in the plan.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for multi-row <literal>VALUES</> clauses as Change <literal>LIMIT</>/<literal>OFFSET</> to exceed
part of <command>INSERT</> and <command>SELECT</> statements two billion (Dhanaraj M)
(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> </para>
</listitem> </listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Object Manipulation Changes</title>
<itemizedlist>
<listitem> <listitem>
<para> <para>
Improve the length output used by Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
<literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> to <command>CREATE TABLE AS</> (Neil)
(Tom)
</para> </para>
<para> <para>
When all columns are of the same defined length, that length This allows the tablespace to be specified for the new
is used for output, rather than a generic length. table.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</> Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
<literal>RETURNING</> (Jonah Harris, Tom) AS</> (Neil)
</para> </para>
<para> <para>
This allows these commands to return values, such as the This allows temporary tables to be truncated or dropped on
computed serial key for a new row. In the <command>UPDATE</> transaction commit. The default behavior is for the table
case, values from the new state of the row are returned. to remain until the session ends.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>UPDATE</> to set multiple columns with a Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
list of values (Susanne Ebrecht) TABLE LIKE</> (Greg Stark)
</para> </para>
<para> <para>
This is basically as short-hand for assigning the columns This allows the new table to receive matching constraints.
and values in pairs. The syntax is <literal>UPDATE tab
SET (col, ...) = (val, ...)</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <literal>ILIKE</> to work for multi-byte encodings Allow the creation of placeholder (shell) types (Martijn van
(Tom) Oosterhout)
</para> </para>
<para> <para>
Internally, <literal>ILIKE</> now calls <function>lower()</> Shell types create a type reference, without specifying
and then uses <literal>LIKE</>. Locale-specific regular any of the aspects of the type. It is useful for creating
expression operations still do not work in these encodings. 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>
Protocol-level unnamed prepared statements are re-planned Add new aggregate creation syntax (Tom)
for each set of <literal>BIND</> values (Tom)
</para> </para>
<para> <para>
This improves performance because the exact parameter values The new syntax is <command>CREATE AGGREGATE</> aggname
can be used in the plan. (input_type) (parameter_list). This more naturally supports
the new multi-parameter aggregate functionality. The
previous syntax is still supported.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Do not flatten subqueries that contain <literal>VOLATILE</> Aggregate functions now support multiple input parameters
functions in their target lists (Jaime Casanova) (Sergey Koposov, Tom)
</para> </para>
</listitem>
<listitem>
<para> <para>
This prevents surprising behavior due to multiple evaluation Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
of a <literal>volatile</> function (such as <function>random()</> which removes the role's password (Peter)
or <function>nextval()</>). It may cause performance
degradation in the presence of functions that are unnecessarily
marked as <literal>volatile</>.
</para> </para>
</listitem> </listitem>
</sect3>
<sect3>
<title>Object Manipulation Changes</title>
<itemizedlist>
<listitem> <listitem>
<para> <para>
Add <command>DROP</> object <literal>IF EXISTS</> for many Add <command>DROP</> object <literal>IF EXISTS</> for many
...@@ -936,26 +992,6 @@ For new features, add links to the documentation sections. ...@@ -936,26 +992,6 @@ For new features, add links to the documentation sections.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
which removes the role's password (Peter)
</para>
</listitem>
<listitem>
<para>
Properly enforce <literal>DOMAIN</> check constraints
everywhere (Neil, Tom)
</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.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add <command>GRANT ON SEQUENCE</> syntax (Bruce) Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
...@@ -985,101 +1021,33 @@ For new features, add links to the documentation sections. ...@@ -985,101 +1021,33 @@ For new features, add links to the documentation sections.
<listitem> <listitem>
<para> <para>
Allow comments on global objects to be stored globally Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark)
(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>
<listitem>
<para>
Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
AS</> (Neil)
</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.
</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.
</para>
</listitem>
<listitem>
<para>
Allow placeholder (shell) types to be created (Martijn van
Oosterhout)
</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</>.
</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.
</para>
</listitem>
<listitem>
<para>
Aggregate functions now support multiple input parameters
(Sergey Koposov, Tom)
</para>
</listitem>
<listitem>
<para>
Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
TABLE LIKE</> (Greg Stark)
</para> </para>
<para> <para>
This allows the new table to receive matching constraints. This allow inheritance to be added and removed dynamically,
rather than just at table creation and destruction. This
is very valuable for table partitioning using constraint
exclusion.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark) Allow comments on global objects to be stored globally
(Kris Jurka)
</para> </para>
<para> <para>
This allow inheritance to be added and removed dynamically, Previously, global object comments were stored in individual
rather than just at table creation and destruction. This databases, making them ineffective. This adds a new
is very valuable for table partitioning using constraint <literal>pg_shdescription</> table.
exclusion.
</para> </para>
</listitem> </listitem>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title>Utility Command Changes</title> <title>Utility Command Changes</title>
...@@ -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>
</sect3> </itemizedlist>
</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,12 +1316,36 @@ For new features, add links to the documentation sections. ...@@ -1332,12 +1316,36 @@ 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>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title>PL/PgSQL Server-Side Language Changes</title> <title>PL/PgSQL Server-Side Language Changes</title>
...@@ -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,7 +1385,9 @@ For new features, add links to the documentation sections. ...@@ -1377,7 +1385,9 @@ For new features, add links to the documentation sections.
</para> </para>
</listitem> </listitem>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title>PL/Perl Server-Side Language Changes</title> <title>PL/Perl Server-Side Language Changes</title>
...@@ -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,7 +1421,15 @@ For new features, add links to the documentation sections. ...@@ -1417,7 +1421,15 @@ For new features, add links to the documentation sections.
</para> </para>
</listitem> </listitem>
</sect3> <listitem>
<para>
Honor <envar>check_function_bodies</> (Tom)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3> <sect3>
<title>PL/Python Server-Side Language Changes</title> <title>PL/Python Server-Side Language Changes</title>
...@@ -1425,45 +1437,47 @@ For new features, add links to the documentation sections. ...@@ -1425,45 +1437,47 @@ 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>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title><application>psql</> Changes</title> <title><application>psql</> Changes</title>
...@@ -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,18 +1579,9 @@ For new features, add links to the documentation sections. ...@@ -1554,18 +1579,9 @@ 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>
<sect3> <sect3>
<title><application>pg_dump</> Changes</title> <title><application>pg_dump</> Changes</title>
...@@ -1606,7 +1622,9 @@ For new features, add links to the documentation sections. ...@@ -1606,7 +1622,9 @@ For new features, add links to the documentation sections.
</para> </para>
</listitem> </listitem>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title><application>libpq</> Changes</title> <title><application>libpq</> Changes</title>
...@@ -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,14 +1671,15 @@ For new features, add links to the documentation sections. ...@@ -1652,14 +1671,15 @@ 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>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title><application>ecpg</> Changes</title> <title><application>ecpg</> Changes</title>
...@@ -1690,7 +1710,9 @@ For new features, add links to the documentation sections. ...@@ -1690,7 +1710,9 @@ For new features, add links to the documentation sections.
</para> </para>
</listitem> </listitem>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title><application>Win32</> Port</title> <title><application>Win32</> Port</title>
...@@ -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>
</sect3> </itemizedlist>
</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,7 +1955,9 @@ For new features, add links to the documentation sections. ...@@ -1931,7 +1955,9 @@ For new features, add links to the documentation sections.
</para> </para>
</listitem> </listitem>
</sect3> </itemizedlist>
</sect3>
<sect3> <sect3>
<title>Contrib Changes</title> <title>Contrib Changes</title>
...@@ -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