Commit c9aa8a62 authored by Bruce Momjian's avatar Bruce Momjian

More new subsections in release notes.

parent 5f6f72b0
<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.619 2009/03/30 22:01:15 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.620 2009/03/31 01:26:13 momjian Exp $ -->
<!-- <!--
Typical markup: Typical markup:
...@@ -354,7 +354,7 @@ do it for earlier branch release files. ...@@ -354,7 +354,7 @@ do it for earlier branch release files.
<title>Temporal Functions and Operators</title> <title>Temporal Functions and Operators</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Have <function>to_char()</>'s localized month/day names depend Have <function>to_char()</>'s localized month/day names depend
...@@ -362,7 +362,7 @@ do it for earlier branch release files. ...@@ -362,7 +362,7 @@ do it for earlier branch release files.
Taveira de Oliveira) Taveira de Oliveira)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Cause <function>to_date()</> and <function>to_timestamp()</> Cause <function>to_date()</> and <function>to_timestamp()</>
...@@ -370,14 +370,14 @@ do it for earlier branch release files. ...@@ -370,14 +370,14 @@ do it for earlier branch release files.
Jurd) Jurd)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Provide consistent rounding for fractional seconds (Ron Mayer) Provide consistent rounding for fractional seconds (Ron Mayer)
bjm: combine with another item? bjm: combine with another item?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fix <function>to_timestamp()</> to not require upper/lower case Fix <function>to_timestamp()</> to not require upper/lower case
...@@ -385,13 +385,13 @@ do it for earlier branch release files. ...@@ -385,13 +385,13 @@ do it for earlier branch release files.
(<literal>BC</>/<literal>AD</>) format designations (Brendan (<literal>BC</>/<literal>AD</>) format designations (Brendan
Jurd) Jurd)
</para> </para>
<para> <para>
For example, input value <literal>ad</> now matches the format For example, input value <literal>ad</> now matches the format
string <literal>AD</>. string <literal>AD</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Require the existence of periods in <function>to_timestamp()</> Require the existence of periods in <function>to_timestamp()</>
...@@ -399,22 +399,22 @@ do it for earlier branch release files. ...@@ -399,22 +399,22 @@ do it for earlier branch release files.
(<literal>BC</>/<literal>AD</>) format designations to match (<literal>BC</>/<literal>AD</>) format designations to match
(Brendan Jurd) (Brendan Jurd)
</para> </para>
<para> <para>
For example, input value <literal>AD</> now does not match For example, input value <literal>AD</> now does not match
format string <literal>A.D.</>. format string <literal>A.D.</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<varname>DateStyle</> no longer controls <type>INTERVAL</> <varname>DateStyle</> no longer controls <type>INTERVAL</>
output (use new variable <varname>IntervalStyle</>) output (use new variable <varname>IntervalStyle</>)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
...@@ -571,7 +571,7 @@ do it for earlier branch release files. ...@@ -571,7 +571,7 @@ do it for earlier branch release files.
<title>Settings</title> <title>Settings</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Convert many <filename>postgresql.conf</> settings to enumerated Convert many <filename>postgresql.conf</> settings to enumerated
...@@ -579,7 +579,7 @@ do it for earlier branch release files. ...@@ -579,7 +579,7 @@ do it for earlier branch release files.
values (Magnus) values (Magnus)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <varname>cursor_tuple_fraction</> parameter to control the Add <varname>cursor_tuple_fraction</> parameter to control the
...@@ -587,57 +587,57 @@ do it for earlier branch release files. ...@@ -587,57 +587,57 @@ do it for earlier branch release files.
user (Robert Hell) user (Robert Hell)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow underscores in <filename>postgresql.conf</> custom variable Allow underscores in <filename>postgresql.conf</> custom variable
classes (Tom) classes (Tom)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Authentication</title> <title>Authentication</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Report appropriate error message for combination of <literal>MD5</> Report appropriate error message for combination of <literal>MD5</>
authentication and <varname>db_user_namespace</> enabled (Bruce) authentication and <varname>db_user_namespace</> enabled (Bruce)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support regular expressions in <filename>pg_ident.conf</> Support regular expressions in <filename>pg_ident.conf</>
(Magnus) (Magnus)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <productname>Kerberos</>/<acronym>GSSAPI</> parameters Allow <productname>Kerberos</>/<acronym>GSSAPI</> parameters
to be changed without restarting the postmaster (Magnus) to be changed without restarting the postmaster (Magnus)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4 id="release-8-4-pg-hba-conf"> <sect4 id="release-8-4-pg-hba-conf">
<title><filename>pg_hba.conf</></title> <title><filename>pg_hba.conf</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Parse <filename>pg_hba.conf</> in the postmaster so errors are Parse <filename>pg_hba.conf</> in the postmaster so errors are
reported on reload (Magnus) reported on reload (Magnus)
</para> </para>
<para> <para>
Previously errors in the file wouldn't be detected until clients Previously errors in the file wouldn't be detected until clients
tried to connect, which could leave the system with a broken tried to connect, which could leave the system with a broken
...@@ -651,223 +651,223 @@ do it for earlier branch release files. ...@@ -651,223 +651,223 @@ do it for earlier branch release files.
if no usermap is specified (Magnus) if no usermap is specified (Magnus)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Change all authentication options to be <literal>name=value</> Change all authentication options to be <literal>name=value</>
settings (Magnus) settings (Magnus)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow usermap parameter for all external authentication methods Allow usermap parameter for all external authentication methods
(Magnus) (Magnus)
</para> </para>
<para> <para>
Previously this was only supported for <literal>ident</> Previously this was only supported for <literal>ident</>
authentication. authentication.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <literal>ident</> authentication over Unix-domain sockets Allow <literal>ident</> authentication over Unix-domain sockets
on <productname>Solaris</> (Garick Hamlin) on <productname>Solaris</> (Garick Hamlin)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>clientcert</> option to control requesting of a Add <literal>clientcert</> option to control requesting of a
client certificate (Magnus) client certificate (Magnus)
</para> </para>
<para> <para>
Previously this was controlled by the presence of a root Previously this was controlled by the presence of a root
certificate file in the server's data directory. certificate file in the server's data directory.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>cert</> authentication method to allow user Add <literal>cert</> authentication method to allow user
authentication via <acronym>SSL</> certificates (Magnus) authentication via <acronym>SSL</> certificates (Magnus)
</para> </para>
<para> <para>
Previously <acronym>SSL</> certificates could only verify that Previously <acronym>SSL</> certificates could only verify that
the client had access to a certificate, not authenticate a the client had access to a certificate, not authenticate a
user. user.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <literal>krb5</>, <literal>gssapi</> and <literal>sspi</> Allow <literal>krb5</>, <literal>gssapi</> and <literal>sspi</>
realm and <literal>krb5</> host settings to be specified in realm and <literal>krb5</> host settings to be specified in
<filename>pg_hba.conf</> (Magnus) <filename>pg_hba.conf</> (Magnus)
</para> </para>
<para> <para>
These override the settings in <filename>postgresql.conf</>. These override the settings in <filename>postgresql.conf</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>krb5</>, <literal>gssapi</>, and <literal>sspi</> Add <literal>krb5</>, <literal>gssapi</>, and <literal>sspi</>
<varname>include_realm</> parameter (Magnus) <varname>include_realm</> parameter (Magnus)
</para> </para>
<para> <para>
This allows identical usernames from different realms to be This allows identical usernames from different realms to be
authenticated as different database users using usermaps. authenticated as different database users using usermaps.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Show all parsing errors instead of aborting after the first Show all parsing errors instead of aborting after the first
one (Selena Deckelmann) one (Selena Deckelmann)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> <sect4>
<title>Continuous Archiving</title>
<itemizedlist>
<sect3> <listitem>
<title>Continuous Archiving</title> <para>
<itemizedlist> Have <function>pg_stop_backup()</> wait for modified <acronym>WAL</>
files to be archived (Simon)
</para>
<listitem> <para>
<para> This guarantees that the backup is valid at the time
Have <function>pg_stop_backup()</> wait for modified <acronym>WAL</> <function>pg_stop_backup()</> completes.
files to be archived (Simon) </para>
</para> </listitem>
<para> <listitem>
This guarantees that the backup is valid at the time <para>
<function>pg_stop_backup()</> completes. Prevent normal shutdown if a continuous archiving base backup
</para> is in progress (Laurenz Albe)
</listitem> </para>
</listitem>
<listitem> <listitem>
<para> <para>
Prevent normal shutdown if a continuous archiving base backup Cancel a continuous archiving base backup if a fast shutdown
is in progress (Laurenz Albe) is requested (Laurenz Albe)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Cancel a continuous archiving base backup if a fast shutdown Allow <filename>recovery.conf</> boolean variables to take the
is requested (Laurenz Albe) same range of string values as <filename>postgresql.conf</>
</para> (Bruce)
</listitem> </para>
</listitem>
<listitem> </itemizedlist>
<para>
Allow <filename>recovery.conf</> boolean variables to take the
same range of string values as <filename>postgresql.conf</>
(Bruce)
</para>
</listitem>
</itemizedlist> </sect4>
</sect3> <sect4>
<title>Monitoring</title>
<itemizedlist>
<sect3> <listitem>
<title>Monitoring</title> <para>
<itemizedlist> Add <function>pg_conf_load_time()</> to report when
the Postgres configuration files were last loaded (George
Gensure)
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Add <function>pg_conf_load_time()</> to report when Add <function>pg_terminate_backend()</> to safely terminate a
the Postgres configuration files were last loaded (George backend (the <literal>SIGTERM</> signal works also) (Tom, Bruce)
Gensure) </para>
</para> </listitem>
</listitem>
<listitem> <listitem>
<para> <para>
Add <function>pg_terminate_backend()</> to safely terminate a Add ability to track user-defined functions call counts and
backend (the <literal>SIGTERM</> signal works also) (Tom, Bruce) runtimes via parameter <varname>track_functions</> (Martin
</para> Pihlak)
</listitem> </para>
<listitem> <para>
<para> Function statistics appear in a new system table,
Add ability to track user-defined functions call counts and <literal>pg_stat_user_functions</>. However, inlined
runtimes via parameter <varname>track_functions</> (Martin <acronym>SQL</> functions are not tracked.
Pihlak) </para>
</para> </listitem>
<para> <listitem>
Function statistics appear in a new system table, <para>
<literal>pg_stat_user_functions</>. However, inlined Allow specification of the maximum <literal>pg_stat_activity</>
<acronym>SQL</> functions are not tracked. query string size via <varname>track_activity_query_size</>
</para> parameter (Thomas Lee)
</listitem> </para>
</listitem>
<listitem> <listitem>
<para> <para>
Allow specification of the maximum <literal>pg_stat_activity</> Improve syslog performance by increasing the maximum line length
query string size via <varname>track_activity_query_size</> (Tom)
parameter (Thomas Lee) </para>
</para> </listitem>
</listitem>
<listitem> <listitem>
<para> <para>
Improve syslog performance by increasing the maximum line length Add read-only <filename>postgresql.conf</> variables <varname>segment_size</>,
(Tom) <varname>wal_block_size</>, and <varname>wal_segment_size</> (Bernd Helmle)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add read-only <filename>postgresql.conf</> variables <varname>segment_size</>, When reporting a deadlock, report all session queries involved
<varname>wal_block_size</>, and <varname>wal_segment_size</> (Bernd Helmle) in the deadlock to the server log (Itagaki Takahiro)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
When reporting a deadlock, report all session queries involved New <function>pg_stat_get_activity(pid)</> function to return
in the deadlock to the server log (Itagaki Takahiro) information about a specific process id (Magnus)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
New <function>pg_stat_get_activity(pid)</> function to return Move the server statistics file into the subdirectory
information about a specific process id (Magnus) <filename>pg_stat_tmp</> and allow its location to be specified
</para> via <varname>stats_temp_directory</> (Magnus)
</listitem> </para>
<listitem> <para>
<para> This allows the statistics file to be placed in a
Move the server statistics file into the subdirectory <acronym>RAM</>-resident directory to reduce I/O requirements.
<filename>pg_stat_tmp</> and allow its location to be specified On startup/shutdown, the file is copied to the top-level
via <varname>stats_temp_directory</> (Magnus) <literal>$PGDATA</> directory so it is preserved between
</para> restarts.
</para>
</listitem>
<para> </itemizedlist>
This allows the statistics file to be placed in a
<acronym>RAM</>-resident directory to reduce I/O requirements.
On startup/shutdown, the file is copied to the top-level
<literal>$PGDATA</> directory so it is preserved between
restarts.
</para>
</listitem>
</itemizedlist> </sect4>
</sect3> </sect3>
...@@ -983,111 +983,111 @@ do it for earlier branch release files. ...@@ -983,111 +983,111 @@ do it for earlier branch release files.
<sect4> <sect4>
<title><command>TRUNCATE</></title> <title><command>TRUNCATE</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Support statement-level <literal>ON TRUNCATE</> triggers (Simon) Support statement-level <literal>ON TRUNCATE</> triggers (Simon)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <command>TRUNCATE TABLE</> ... Add <command>TRUNCATE TABLE</> ...
<literal>RESTART</>/<literal>CONTINUE IDENTITY</> clauses <literal>RESTART</>/<literal>CONTINUE IDENTITY</> clauses
(Zoltan Boszormenyi) (Zoltan Boszormenyi)
</para> </para>
<para> <para>
The start value of a sequence can be changed by <command>ALTER The start value of a sequence can be changed by <command>ALTER
SEQUENCE START WITH</>. SEQUENCE START WITH</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>TRUNCATE tab1, tab1</> to succeed (Bruce) Allow <command>TRUNCATE tab1, tab1</> to succeed (Bruce)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add a separate <command>TRUNCATE</> permission (Robert Haas) Add a separate <command>TRUNCATE</> permission (Robert Haas)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title><command>EXPLAIN</></title> <title><command>EXPLAIN</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Have <command>EXPLAIN VERBOSE</> show the output columns of a Have <command>EXPLAIN VERBOSE</> show the output columns of a
query (Tom) query (Tom)
</para> </para>
<para> <para>
Previously <command>EXPLAIN VERBOSE</> output an internal Previously <command>EXPLAIN VERBOSE</> output an internal
representation of the query plan. (That behavior is now representation of the query plan. (That behavior is now
available via <varname>debug_print_plan</>.) available via <varname>debug_print_plan</>.)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <command>EXPLAIN</> honor <varname>debug_print_plan</> (Tom) Have <command>EXPLAIN</> honor <varname>debug_print_plan</> (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>EXPLAIN</> on <command>CREATE TABLE AS</> (Peter) Allow <command>EXPLAIN</> on <command>CREATE TABLE AS</> (Peter)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title><literal>LIMIT</>/<literal>OFFSET</></title> <title><literal>LIMIT</>/<literal>OFFSET</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Allow <literal>LIMIT</> and <literal>OFFSET</> to use subselects Allow <literal>LIMIT</> and <literal>OFFSET</> to use subselects
as arguments (Tom) as arguments (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Document that <literal>LIMIT NULL</> and <literal>OFFSET NULL</> Document that <literal>LIMIT NULL</> and <literal>OFFSET NULL</>
have no effect (Tom) have no effect (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <acronym>SQL</>-standards syntax for Add <acronym>SQL</>-standards syntax for
<literal>LIMIT</>/<literal>OFFSET</> capabilities (Peter) <literal>LIMIT</>/<literal>OFFSET</> capabilities (Peter)
</para> </para>
<para> <para>
<literal>OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} <literal>OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS}
ONLY</>. ONLY</>.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
<sect3> <sect3>
<title>Object Manipulation</title> <title>Object Manipulation</title>
<itemizedlist> <itemizedlist>
...@@ -1155,13 +1155,13 @@ do it for earlier branch release files. ...@@ -1155,13 +1155,13 @@ do it for earlier branch release files.
<sect4> <sect4>
<title><command>ALTER</></title> <title><command>ALTER</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Add <command>ALTER TYPE RENAME</> (Petr Jelinek) Add <command>ALTER TYPE RENAME</> (Petr Jelinek)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <command>ALTER SEQUENCE ... RESTART</> (no parameter) to Add <command>ALTER SEQUENCE ... RESTART</> (no parameter) to
...@@ -1169,20 +1169,20 @@ do it for earlier branch release files. ...@@ -1169,20 +1169,20 @@ do it for earlier branch release files.
bjm: compatibility problem? bjm: compatibility problem?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Modify the <command>ALTER TABLE</> syntax to allow all reasonable Modify the <command>ALTER TABLE</> syntax to allow all reasonable
combinations for tables, indexes, sequences, and views (Tom) combinations for tables, indexes, sequences, and views (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
New syntax supported (these formerly required <command>ALTER New syntax supported (these formerly required <command>ALTER
TABLE</>) TABLE</>)
</para> </para>
<para> <para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
...@@ -1207,41 +1207,41 @@ do it for earlier branch release files. ...@@ -1207,41 +1207,41 @@ do it for earlier branch release files.
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for the syntax <command>ALTER TABLE ... ALTER COLUMN Add support for the syntax <command>ALTER TABLE ... ALTER COLUMN
... SET DATA TYPE</> (Peter) ... SET DATA TYPE</> (Peter)
</para> </para>
<para> <para>
This is <acronym>SQL</>-standard syntax for functionality that This is <acronym>SQL</>-standard syntax for functionality that
was already supported. was already supported.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <command>ALTER TABLE SET WITHOUT OIDS</> rewrite the table Have <command>ALTER TABLE SET WITHOUT OIDS</> rewrite the table
to remove <type>OID</> values (Tom) to remove <type>OID</> values (Tom)
</para> </para>
<para> <para>
Also, add <command>ALTER TABLE SET WITH OIDS</> to rewrite the Also, add <command>ALTER TABLE SET WITH OIDS</> to rewrite the
table to add <type>OID</>s. table to add <type>OID</>s.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Database Manipulation</title> <title>Database Manipulation</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Improve reporting of Improve reporting of
...@@ -1250,19 +1250,19 @@ do it for earlier branch release files. ...@@ -1250,19 +1250,19 @@ do it for earlier branch release files.
(Tom) (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make <varname>LC_COLLATE</> and <varname>LC_CTYPE</> database-level Make <varname>LC_COLLATE</> and <varname>LC_CTYPE</> database-level
settings (Radek Strnad, Heikki) settings (Radek Strnad, Heikki)
</para> </para>
<para> <para>
This makes collation similar to encoding, which was always This makes collation similar to encoding, which was always
configurable per database. configurable per database.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve checks that the database encoding, collation Improve checks that the database encoding, collation
...@@ -1270,18 +1270,18 @@ do it for earlier branch release files. ...@@ -1270,18 +1270,18 @@ do it for earlier branch release files.
(<varname>LC_CTYPE</>) match (Heikki) (<varname>LC_CTYPE</>) match (Heikki)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <command>ALTER DATABASE SET TABLESPACE</> to move a database Add <command>ALTER DATABASE SET TABLESPACE</> to move a database
to a new tablespace (Guillaume Lelarge, Bernd Helmle) to a new tablespace (Guillaume Lelarge, Bernd Helmle)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
<sect3> <sect3>
...@@ -1290,98 +1290,98 @@ do it for earlier branch release files. ...@@ -1290,98 +1290,98 @@ do it for earlier branch release files.
<sect4> <sect4>
<title>Indexes</title> <title>Indexes</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Dramatically improve the speed of building and accessing hash Dramatically improve the speed of building and accessing hash
indexes (Tom Raney, Shreya Bhargava, Kenneth Marshall) indexes (Tom Raney, Shreya Bhargava, Kenneth Marshall)
</para> </para>
<para> <para>
This allows hash indexes to be sometimes faster than btree This allows hash indexes to be sometimes faster than btree
indexes. However, hash indexes are still not crash-safe. indexes. However, hash indexes are still not crash-safe.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have hash indexes store only the hashed value, not the full Have hash indexes store only the hashed value, not the full
indexed columns (Xiao Meng) indexed columns (Xiao Meng)
</para> </para>
<para> <para>
This greatly reduces the size of hash indexes for long indexed This greatly reduces the size of hash indexes for long indexed
values, and improves performance. values, and improves performance.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Special xxx_pattern_ops <literal>LIKE</> indexes can now be Special xxx_pattern_ops <literal>LIKE</> indexes can now be
used for simple equality comparisons (Tom) used for simple equality comparisons (Tom)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Full Text Indexes</title> <title>Full Text Indexes</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Remove the requirement to use <literal>@@@</> when doing Remove the requirement to use <literal>@@@</> when doing
<acronym>GIN</> weighted lookups on full text indexes (Tom) <acronym>GIN</> weighted lookups on full text indexes (Tom)
</para> </para>
<para> <para>
The normal <literal>@@</> text search operator can be used The normal <literal>@@</> text search operator can be used
instead. instead.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add an optimizer selectivity function for <literal>@@</> text Add an optimizer selectivity function for <literal>@@</> text
search operations (Jan Urbanski) search operations (Jan Urbanski)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add partial match support for <acronym>GIN</> indexes (Teodor Add partial match support for <acronym>GIN</> indexes (Teodor
Sigaev, Oleg Bartunov) Sigaev, Oleg Bartunov)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow prefix matching in full text searches (Teodor Sigaev, Allow prefix matching in full text searches (Teodor Sigaev,
Oleg Bartunov) Oleg Bartunov)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support multi-column <acronym>GIN</> indexes (Teodor Sigaev) Support multi-column <acronym>GIN</> indexes (Teodor Sigaev)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title><command>VACUUM</></title> <title><command>VACUUM</></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Allow relation forks to track free space (Heikki) Allow relation forks to track free space (Heikki)
</para> </para>
<para> <para>
This allows the recording of all free space discovered by vacuum This allows the recording of all free space discovered by vacuum
in <filename>*.fsm</> files, rather than having to limit in <filename>*.fsm</> files, rather than having to limit
...@@ -1390,30 +1390,30 @@ do it for earlier branch release files. ...@@ -1390,30 +1390,30 @@ do it for earlier branch release files.
settings have been removed. settings have been removed.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
New visibility map file to track pages that do not require New visibility map file to track pages that do not require
vacuum (Heikki) vacuum (Heikki)
</para> </para>
<para> <para>
This allows <command>VACUUM</> to avoid sequentially scanning This allows <command>VACUUM</> to avoid sequentially scanning
a table when only a portion of the table needs vacuuming. a table when only a portion of the table needs vacuuming.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Track explicit transaction snapshots (Alvaro) Track explicit transaction snapshots (Alvaro)
</para> </para>
<para> <para>
This improves space reuse by vacuum in the presence of long-running This improves space reuse by vacuum in the presence of long-running
transactions. transactions.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <varname>vacuum_freeze_table_age</> parameter to control Add <varname>vacuum_freeze_table_age</> parameter to control
...@@ -1421,53 +1421,53 @@ do it for earlier branch release files. ...@@ -1421,53 +1421,53 @@ do it for earlier branch release files.
do a full table scan to set frozen xids (Heikki) do a full table scan to set frozen xids (Heikki)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add ability to specify autovacuum and <acronym>TOAST</> parameters Add ability to specify autovacuum and <acronym>TOAST</> parameters
in <command>CREATE TABLE</> (Alvaro, Euler Taveira de Oliveira) in <command>CREATE TABLE</> (Alvaro, Euler Taveira de Oliveira)
</para> </para>
<para> <para>
Autovacuum options used to be stored in a system table. Autovacuum options used to be stored in a system table.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>--freeze</> option to <application>vacuumdb</> Add <literal>--freeze</> option to <application>vacuumdb</>
(Bruce) (Bruce)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Other Utility Operations</title> <title>Other Utility Operations</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Add verbose option to the <command>CLUSTER</> command and Add verbose option to the <command>CLUSTER</> command and
<application>clusterdb</> (Jim Cox) <application>clusterdb</> (Jim Cox)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Decrease memory requirements for recording pending trigger Decrease memory requirements for recording pending trigger
events (Tom) events (Tom)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
<sect3> <sect3>
<title>Data Types</title> <title>Data Types</title>
<itemizedlist> <itemizedlist>
...@@ -1515,64 +1515,64 @@ do it for earlier branch release files. ...@@ -1515,64 +1515,64 @@ do it for earlier branch release files.
<sect4> <sect4>
<title>Temporal Data Types</title> <title>Temporal Data Types</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Reject year <literal>0 BC</> and years <literal>000</> and Reject year <literal>0 BC</> and years <literal>000</> and
<literal>0000</> (Tom) <literal>0000</> (Tom)
</para> </para>
<para> <para>
Previously these were interpreted as <literal>1 BC</>; years Previously these were interpreted as <literal>1 BC</>; years
<literal>0</> and <literal>00</> are assumed to be the year <literal>0</> and <literal>00</> are assumed to be the year
2000. 2000.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Include <acronym>SGT</> (Singapore time) as a valid time zone Include <acronym>SGT</> (Singapore time) as a valid time zone
abbreviation (Tom) abbreviation (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support the <acronym>IS0 8601</> <type>interval</> syntax (Tom, Support the <acronym>IS0 8601</> <type>interval</> syntax (Tom,
Kevin Grittner) Kevin Grittner)
</para> </para>
<para> <para>
For example, <literal>INTERVAL 'P1Y2M3DT4H5M6.7S'</> is now For example, <literal>INTERVAL 'P1Y2M3DT4H5M6.7S'</> is now
supported. supported.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <type>INTERVAL</> precision to be specified after the Allow <type>INTERVAL</> precision to be specified after the
last field, for <acronym>SQL</>-standards compliance (Tom) last field, for <acronym>SQL</>-standards compliance (Tom)
</para> </para>
<para> <para>
Formerly the precision had to be specified after the keyword Formerly the precision had to be specified after the keyword
<type>INTERVAL</> (this syntax is still supported). Data type <type>INTERVAL</> (this syntax is still supported). Data type
definitions will now be output using the new format. definitions will now be output using the new format.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support <literal>infinite</> dates (Tom) Support <literal>infinite</> dates (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <varname>IntervalStyle</> parameter Add <varname>IntervalStyle</> parameter
which controls how <type>INTERVAL</> values are output (Ron Mayer) which controls how <type>INTERVAL</> values are output (Ron Mayer)
</para> </para>
<para> <para>
Valid value are: <literal>postgres</>, <literal>postgres_verbose</>, Valid value are: <literal>postgres</>, <literal>postgres_verbose</>,
<literal>sql_standard</>, <literal>iso_8601</>. This also <literal>sql_standard</>, <literal>iso_8601</>. This also
...@@ -1580,61 +1580,61 @@ do it for earlier branch release files. ...@@ -1580,61 +1580,61 @@ do it for earlier branch release files.
some fields have positive/negative designations. some fields have positive/negative designations.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make <type>INTERVAL</> seconds rounding more consistent across Make <type>INTERVAL</> seconds rounding more consistent across
output formats (Ron Mayer) output formats (Ron Mayer)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Arrays</title> <title>Arrays</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Have cast on <type>ARRAY</> apply to all elements, not just Have cast on <type>ARRAY</> apply to all elements, not just
the array result (Brendan Jurd) the array result (Brendan Jurd)
</para> </para>
<para> <para>
This allows <literal>NULL</> <type>ARRAY</> entries as long as This allows <literal>NULL</> <type>ARRAY</> entries as long as
they are properly cast. they are properly cast.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make <acronym>SQL</>-syntax <type>ARRAY</> dimensions optional Make <acronym>SQL</>-syntax <type>ARRAY</> dimensions optional
to match the <acronym>SQL</> standard (Peter) to match the <acronym>SQL</> standard (Peter)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>array_ndims()</> to return the number Add <function>array_ndims()</> to return the number
of dimensions of an array (Robert Haas) of dimensions of an array (Robert Haas)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>array_length()</> to return the length Add <function>array_length()</> to return the length
of an array for the specified dimensions (Jim Nasby, Robert of an array for the specified dimensions (Jim Nasby, Robert
Haas, Peter Eisentraut) Haas, Peter Eisentraut)
</para> </para>
<para> <para>
Also add identically-functioning <acronym>SQL</>-standard Also add identically-functioning <acronym>SQL</>-standard
function <function>cardinality()</>. function <function>cardinality()</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add new aggregate function <function>array_agg()</>, which Add new aggregate function <function>array_agg()</>, which
...@@ -1642,74 +1642,74 @@ do it for earlier branch release files. ...@@ -1642,74 +1642,74 @@ do it for earlier branch release files.
Jeff Davis, Peter) Jeff Davis, Peter)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>unnest()</>, which converts an array to Add <function>unnest()</>, which converts an array to
individual row values (Tom) individual row values (Tom)
</para> </para>
<para> <para>
This is the opposite of <function>array_agg()</>. This is the opposite of <function>array_agg()</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>array_fill()</> to create arrays initialized with Add <function>array_fill()</> to create arrays initialized with
a value (Pavel Stehule) a value (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>generate_subscripts()</> to generate array Add <function>generate_subscripts()</> to generate array
subscripts (Pavel Stehule) subscripts (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Generate proper error if a <type>SERIAL</> array is specified Generate proper error if a <type>SERIAL</> array is specified
(Tom) (Tom)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Wide-Value Storage (<acronym>TOAST</>)</title> <title>Wide-Value Storage (<acronym>TOAST</>)</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Consider <acronym>TOAST</> compression on values as short as Consider <acronym>TOAST</> compression on values as short as
32 bytes (previously 256 bytes) (Tom) 32 bytes (previously 256 bytes) (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Require 25% of space savings before using <acronym>TOAST</> Require 25% of space savings before using <acronym>TOAST</>
compression (previously 20%) (Tom) compression (previously 20%) (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Be more aggressive in storing <literal>EXTERNAL</> and Be more aggressive in storing <literal>EXTERNAL</> and
<literal>EXTENDED</> column values in <acronym>TOAST</>(Tom) <literal>EXTENDED</> column values in <acronym>TOAST</>(Tom)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
<sect3> <sect3>
<title>Functions</title> <title>Functions</title>
<itemizedlist> <itemizedlist>
...@@ -1770,79 +1770,79 @@ do it for earlier branch release files. ...@@ -1770,79 +1770,79 @@ do it for earlier branch release files.
<sect4> <sect4>
<title>Object Information Functions</title> <title>Object Information Functions</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Implement <function>current_query()</> for use by functions Implement <function>current_query()</> for use by functions
that need to know the currently running query (Tomas Doran) that need to know the currently running query (Tomas Doran)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>pg_get_keywords()</> to return predefined Add <function>pg_get_keywords()</> to return predefined
parser keywords (Dave Page) parser keywords (Dave Page)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>pg_get_functiondef()</> to see a functions Add <function>pg_get_functiondef()</> to see a functions
definition (Abhijit Menon-Sen) definition (Abhijit Menon-Sen)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Modify <function>pg_relation_size()</> to handle free space Modify <function>pg_relation_size()</> to handle free space
map (<filename>*.fsm</>) files (Heikki) map (<filename>*.fsm</>) files (Heikki)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Modify <function>pg_relation_size()</> to use <literal>regclass</> Modify <function>pg_relation_size()</> to use <literal>regclass</>
(Heikki) (Heikki)
</para> </para>
<para> <para>
<function>pg_relation_size(data_type_name)</> no longer works. <function>pg_relation_size(data_type_name)</> no longer works.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>boot_val</> and <literal>reset_val</> columns to Add <literal>boot_val</> and <literal>reset_val</> columns to
<literal>pg_settings</> output (Greg Smith) <literal>pg_settings</> output (Greg Smith)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add support for <varname>CURRENT_CATALOG</>, Add support for <varname>CURRENT_CATALOG</>,
<varname>CURRENT_SCHEMA</>, <varname>SET CATALOG</>, <varname>SET <varname>CURRENT_SCHEMA</>, <varname>SET CATALOG</>, <varname>SET
SCHEMA</> (Peter) SCHEMA</> (Peter)
</para> </para>
<para> <para>
These are <acronym>SQL</>-standard capabilities. These are <acronym>SQL</>-standard capabilities.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>pg_typeof()</> which returns the data type Add <function>pg_typeof()</> which returns the data type
of any value (Brendan Jurd) of any value (Brendan Jurd)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <function>version()</> return information about whether Have <function>version()</> return information about whether
the server is a 32 or 64-bit binary (Bruce) the server is a 32 or 64-bit binary (Bruce)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Fix the behavior of information schema columns Fix the behavior of information schema columns
...@@ -1850,13 +1850,13 @@ do it for earlier branch release files. ...@@ -1850,13 +1850,13 @@ do it for earlier branch release files.
be consistent (Peter) be consistent (Peter)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Convert remaining builtin set-returning functions to use Convert remaining builtin set-returning functions to use
<literal>OUT</> parameters (Jaime Casanova) <literal>OUT</> parameters (Jaime Casanova)
</para> </para>
<para> <para>
This makes it possible to call these functions without specifying This makes it possible to call these functions without specifying
a column list: <function>pg_show_all_settings()</>, a column list: <function>pg_show_all_settings()</>,
...@@ -1864,7 +1864,7 @@ do it for earlier branch release files. ...@@ -1864,7 +1864,7 @@ do it for earlier branch release files.
<function>pg_prepared_statement()</>, <function>pg_cursor()</> <function>pg_prepared_statement()</>, <function>pg_cursor()</>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <function>pg_*_is_visible()</> and Have <function>pg_*_is_visible()</> and
...@@ -1872,7 +1872,7 @@ do it for earlier branch release files. ...@@ -1872,7 +1872,7 @@ do it for earlier branch release files.
for invalid oids, rather than generate an error (Tom) for invalid oids, rather than generate an error (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <function>has_column_privilege()</> and Add <function>has_column_privilege()</> and
...@@ -1880,87 +1880,87 @@ do it for earlier branch release files. ...@@ -1880,87 +1880,87 @@ do it for earlier branch release files.
Frost, Tom) Frost, Tom)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Function Creation</title> <title>Function Creation</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Support variadic functions (functions with a variable number Support variadic functions (functions with a variable number
of arguments) (Pavel Stehule) of arguments) (Pavel Stehule)
</para> </para>
<para> <para>
Only trailing arguments can be optional, and they all must be Only trailing arguments can be optional, and they all must be
of the same data type. of the same data type.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <literal>DEFAULT</> values for function arguments (Pavel Allow <literal>DEFAULT</> values for function arguments (Pavel
Stehule) Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <command>CREATE FUNCTION ... RETURNS TABLE</> clause (Pavel Add <command>CREATE FUNCTION ... RETURNS TABLE</> clause (Pavel
Stehule) Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <acronym>SQL</>-language functions to return the output Allow <acronym>SQL</>-language functions to return the output
of an <command>INSERT</>/<command>UPDATE</>/<command>DELETE</> of an <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
<literal>RETURNING</> clause (Tom) <literal>RETURNING</> clause (Tom)
</para> </para>
<para> <para>
Formerly only <command>SELECT</> was supported. Formerly only <command>SELECT</> was supported.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>PL/PgSQL Server-Side Language</title> <title>PL/PgSQL Server-Side Language</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Support <literal>EXECUTE USING</> (Pavel Stehule) Support <literal>EXECUTE USING</> (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow looping over an open cursor using a <literal>FOR</> Allow looping over an open cursor using a <literal>FOR</>
loop (Pavel Stehule) loop (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support <literal>RETURN QUERY EXECUTE</> (Pavel Support <literal>RETURN QUERY EXECUTE</> (Pavel
Stehule) Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve the <literal>RAISE</> command: (Pavel Stehule) Improve the <literal>RAISE</> command: (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<itemizedlist> <itemizedlist>
...@@ -1988,41 +1988,41 @@ do it for earlier branch release files. ...@@ -1988,41 +1988,41 @@ do it for earlier branch release files.
</itemizedlist> </itemizedlist>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow specification of <varname>SQLSTATE</> numeric codes Allow specification of <varname>SQLSTATE</> numeric codes
in <literal>EXCEPTION</> lists (Pavel Stehule) in <literal>EXCEPTION</> lists (Pavel Stehule)
</para> </para>
<para> <para>
This is useful for handling custom <varname>SQLSTATE</> codes. This is useful for handling custom <varname>SQLSTATE</> codes.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Support the <literal>CASE</> statement (Pavel Stehule) Support the <literal>CASE</> statement (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>FOUND</> and <command>GET DIAGNOSTICS</> support Add <literal>FOUND</> and <command>GET DIAGNOSTICS</> support
for the <literal>RETURN QUERY</> statement (Pavel Stehule) for the <literal>RETURN QUERY</> statement (Pavel Stehule)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add message translation support (Alvaro) Add message translation support (Alvaro)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
<sect3> <sect3>
...@@ -2031,21 +2031,21 @@ do it for earlier branch release files. ...@@ -2031,21 +2031,21 @@ do it for earlier branch release files.
<sect4> <sect4>
<title><link linkend="APP-PSQL"><application>psql</></link></title> <title><link linkend="APP-PSQL"><application>psql</></link></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Remove startup banner; now just suggest <literal>help</> Remove startup banner; now just suggest <literal>help</>
(Joshua Drake) (Joshua Drake)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <literal>help</> show common backslash commands (Greg Have <literal>help</> show common backslash commands (Greg
Sabino Mullane) Sabino Mullane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>\pset format wrapped</> mode to wrap output to the Add <literal>\pset format wrapped</> mode to wrap output to the
...@@ -2053,95 +2053,95 @@ do it for earlier branch release files. ...@@ -2053,95 +2053,95 @@ do it for earlier branch release files.
is set (Bryce Nesbitt) is set (Bryce Nesbitt)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Use the pager for wide output (Bruce) Use the pager for wide output (Bruce)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Require a space between a backslash command and the first Require a space between a backslash command and the first
argument (Bernd Helmle) argument (Bernd Helmle)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Display access control rights on multiple lines (Brendan Display access control rights on multiple lines (Brendan
Jurd, Andreas Scherbaum) Jurd, Andreas Scherbaum)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve tab completion support for schema qualified and Improve tab completion support for schema qualified and
quoted identifiers (Greg Sabino Mullane) quoted identifiers (Greg Sabino Mullane)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow the normal range of boolean values in <command>\pset</>, Allow the normal range of boolean values in <command>\pset</>,
rather than just <literal>on</> and <literal>off</> (Bruce) rather than just <literal>on</> and <literal>off</> (Bruce)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add optional <literal>on</>/<literal>off</> arguments for Add optional <literal>on</>/<literal>off</> arguments for
<command>\timing</> (David Fetter) <command>\timing</> (David Fetter)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <command>\l</> show access privileges (Andrew Gilligan) Have <command>\l</> show access privileges (Andrew Gilligan)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <command>\l+</> show database sizes, if permissions Have <command>\l+</> show database sizes, if permissions
allow (Andrew Gilligan) allow (Andrew Gilligan)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add the <command>\ef</> command to edit function definitions Add the <command>\ef</> command to edit function definitions
(Abhijit Menon-Sen) (Abhijit Menon-Sen)
</para> </para>
<para> <para>
<command>\ef</> without a function name creates an empty <command>\ef</> without a function name creates an empty
function template for editing. function template for editing.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title><link linkend="APP-PSQL"><application>psql</></link> \d*</title> <title><link linkend="APP-PSQL"><application>psql</></link> \d*</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Have <command>\d</> show cases where this table is referenced Have <command>\d</> show cases where this table is referenced
as a foreign-key constraint (Kenneth D'Souza) as a foreign-key constraint (Kenneth D'Souza)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <command>\d</> show the value of sequence columns Have <command>\d</> show the value of sequence columns
(Euler Taveira de Oliveira) (Euler Taveira de Oliveira)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add column storage type and other relation options to the Add column storage type and other relation options to the
...@@ -2149,64 +2149,64 @@ do it for earlier branch release files. ...@@ -2149,64 +2149,64 @@ do it for earlier branch release files.
Oliveira) Oliveira)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Show relation size in <command>\d+</> output (Dickson S. Show relation size in <command>\d+</> output (Dickson S.
Guedes) Guedes)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have all <command>\d*</> commands show system objects only Have all <command>\d*</> commands show system objects only
if <literal>S</> is specified (Greg Sabino Mullane) if <literal>S</> is specified (Greg Sabino Mullane)
</para> </para>
<para> <para>
<command>\dt</> already behaved this way. bjm: accuate? <command>\dt</> already behaved this way. bjm: accuate?
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Make <command>\d</> and <command>\dt</> consistent in Make <command>\d</> and <command>\dt</> consistent in
their display of system tables (Bruce) their display of system tables (Bruce)
</para> </para>
<para> <para>
Previously, <literal>\d pg_class</> would show <literal>pg_class</> Previously, <literal>\d pg_class</> would show <literal>pg_class</>
while <literal>\dt pg_class</> would not. while <literal>\dt pg_class</> would not.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Show enumerated values in <command>\dT+</> (David Fetter) Show enumerated values in <command>\dT+</> (David Fetter)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>\dC</> to accept wildcard patterns (Tom) Allow <command>\dC</> to accept wildcard patterns (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <command>\d*</> commands to work with versions of Allow <command>\d*</> commands to work with versions of
<productname>PostgreSQL</> back to 7.4 (Guillaume Lelarge) <productname>PostgreSQL</> back to 7.4 (Guillaume Lelarge)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title><link linkend="APP-PGDUMP"><application>pg_dump</></link></title> <title><link linkend="APP-PGDUMP"><application>pg_dump</></link></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Add a <literal>--no-tablespaces</> option to Add a <literal>--no-tablespaces</> option to
...@@ -2215,53 +2215,53 @@ do it for earlier branch release files. ...@@ -2215,53 +2215,53 @@ do it for earlier branch release files.
tablespace layouts (Gavin Roy) tablespace layouts (Gavin Roy)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove <literal>-i</>/<literal>--ignore-version</> option from Remove <literal>-i</>/<literal>--ignore-version</> option from
<application>pg_dump</> and <application>pg_dumpall</> (Tom) <application>pg_dump</> and <application>pg_dumpall</> (Tom)
</para> </para>
<para> <para>
Use of this option does not throw an error, but it has no Use of this option does not throw an error, but it has no
effect. This option was removed because the version checks effect. This option was removed because the version checks
are considered necessary. are considered necessary.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Disable <varname>statement_timeout</> during dump and restore Disable <varname>statement_timeout</> during dump and restore
(Joshua Drake) (Joshua Drake)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <application>pg_dump</>/<application>pg_dumpall</> option Add <application>pg_dump</>/<application>pg_dumpall</> option
<literal>--lock-wait-timeout</> (David Gould) <literal>--lock-wait-timeout</> (David Gould)
</para> </para>
<para> <para>
This allows dumps to fail if unable to acquire a shared lock This allows dumps to fail if unable to acquire a shared lock
within the specified amount of time. within the specified amount of time.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Reorder <application>pg_dump</> <literal>--data-only</> output Reorder <application>pg_dump</> <literal>--data-only</> output
to dump primary-key tables referenced by foreign keys before to dump primary-key tables referenced by foreign keys before
the foreign-key referencing tables (Tom) the foreign-key referencing tables (Tom)
</para> </para>
<para> <para>
This allows data loads when foreign keys are already present. This allows data loads when foreign keys are already present.
If circular references make this impossible, a <literal>NOTICE</> If circular references make this impossible, a <literal>NOTICE</>
is issued. is issued.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>pg_dump</>, <application>pg_dumpall</>, and Allow <application>pg_dump</>, <application>pg_dumpall</>, and
...@@ -2269,41 +2269,41 @@ do it for earlier branch release files. ...@@ -2269,41 +2269,41 @@ do it for earlier branch release files.
Lszl) Lszl)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow <application>pg_restore</> of a custom format archive to Allow <application>pg_restore</> of a custom format archive to
use multiple concurrent connections to do the restore (Andrew) use multiple concurrent connections to do the restore (Andrew)
</para> </para>
<para> <para>
The number of concurrent connections is controlled by the option The number of concurrent connections is controlled by the option
<literal>--jobs</>. <literal>--jobs</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add new <application>pg_dump</> <literal>--binary-upgrade</> Add new <application>pg_dump</> <literal>--binary-upgrade</>
option for use by binary upgrade utilities (Bruce) option for use by binary upgrade utilities (Bruce)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Other Client Applications</title> <title>Other Client Applications</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Fix <literal>pg_ctl restart</> to preserve command-line arguments Fix <literal>pg_ctl restart</> to preserve command-line arguments
(Bruce) (Bruce)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add <literal>-w</>/<literal>--no-password</> option that Add <literal>-w</>/<literal>--no-password</> option that
...@@ -2311,21 +2311,21 @@ do it for earlier branch release files. ...@@ -2311,21 +2311,21 @@ do it for earlier branch release files.
<literal>-W</>/<literal>--password</> option (Peter) <literal>-W</>/<literal>--password</> option (Peter)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Remove <literal>-q</> (quiet) option for create* and drop* Remove <literal>-q</> (quiet) option for create* and drop*
utility commands (Peter) utility commands (Peter)
</para> </para>
<para> <para>
These options have had no effect since <productname>PostgreSQL</> These options have had no effect since <productname>PostgreSQL</>
8.3. 8.3.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
...@@ -2336,65 +2336,65 @@ do it for earlier branch release files. ...@@ -2336,65 +2336,65 @@ do it for earlier branch release files.
<sect4> <sect4>
<title><link linkend="libpq"><application>libpq</></link></title> <title><link linkend="libpq"><application>libpq</></link></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Allow the <type>OID</> to be specified when importing large Allow the <type>OID</> to be specified when importing large
objects using <function>lo_import_with_oid()</> (Tatsuo) objects using <function>lo_import_with_oid()</> (Tatsuo)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add events support (Andrew Chernow, Merlin Moncure) Add events support (Andrew Chernow, Merlin Moncure)
</para> </para>
<para> <para>
This adds the ability to register callbacks to handle private This adds the ability to register callbacks to handle private
data for connection and result creation and destruction. data for connection and result creation and destruction.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Improve error handling to allow the return of multiple Improve error handling to allow the return of multiple
error messages as multi-line error reports (Magnus) error messages as multi-line error reports (Magnus)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Have <function>PQexecParams()</> return Have <function>PQexecParams()</> return
<varname>PGRES_EMPTY_QUERY</> for an empty query (Tom) <varname>PGRES_EMPTY_QUERY</> for an empty query (Tom)
</para> </para>
<para> <para>
It previously returned <varname>PGRES_COMMAND_OK</>. It previously returned <varname>PGRES_COMMAND_OK</>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Document how to avoid the overhead of <function>WSACleanup()</> Document how to avoid the overhead of <function>WSACleanup()</>
on Windows (Andrew Chernow) on Windows (Andrew Chernow)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title><link linkend="libpq"><application>libpq</></link> <title><link linkend="libpq"><application>libpq</></link>
<acronym>SSL</> (Secure Sockets Layer)</title> <acronym>SSL</> (Secure Sockets Layer)</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Fix certificate validation for <acronym>SSL</> connections Fix certificate validation for <acronym>SSL</> connections
(Magnus) (Magnus)
</para> </para>
<para> <para>
<application>libpq</> now verifies both the certificate and <application>libpq</> now verifies both the certificate and
the name of the server by default when making <acronym>SSL</> the name of the server by default when making <acronym>SSL</>
...@@ -2404,97 +2404,97 @@ do it for earlier branch release files. ...@@ -2404,97 +2404,97 @@ do it for earlier branch release files.
and certificate verification if required. and certificate verification if required.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Allow the file locations for client certificates to be specified Allow the file locations for client certificates to be specified
(Mark Woodward, Alvaro, Magnus) (Mark Woodward, Alvaro, Magnus)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add connection parameter <literal>sslverify</> to control Add connection parameter <literal>sslverify</> to control
the verification of the server's certificate the verification of the server's certificate
(Magnus) (Magnus)
</para> </para>
<para> <para>
The default is full verification. The default is full verification.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Properly unregister <application>OpenSSL</> callbacks when Properly unregister <application>OpenSSL</> callbacks when
libpq is done with all connection (Bruce, Magnus, Russell Smith) libpq is done with all connection (Bruce, Magnus, Russell Smith)
</para> </para>
<para> <para>
This is required for applications that unload the libpq library This is required for applications that unload the libpq library
so no invalid <application>OpenSSL</> callbacks remain. so no invalid <application>OpenSSL</> callbacks remain.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title><link linkend="ecpg"><application>ecpg</></link></title> <title><link linkend="ecpg"><application>ecpg</></link></title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Add localization support for messages (Euler Taveira de Add localization support for messages (Euler Taveira de
Oliveira) Oliveira)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
ecpg parser is now automatically generated from the server ecpg parser is now automatically generated from the server
parser (Michael) parser (Michael)
</para> </para>
<para> <para>
Previously a separate ecpg parser was maintained. Previously a separate ecpg parser was maintained.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
<sect4> <sect4>
<title>Server Programming Interface (<acronym>SPI</>)</title> <title>Server Programming Interface (<acronym>SPI</>)</title>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Add support for single-use plans with out-of-line Add support for single-use plans with out-of-line
parameters (Tom) parameters (Tom)
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Add new <varname>SPI_OK_REWRITTEN</> return code to Add new <varname>SPI_OK_REWRITTEN</> return code to
<function>SPI_execute()</> (Heikki) <function>SPI_execute()</> (Heikki)
</para> </para>
<para> <para>
This is used when a command is rewritten to another type of This is used when a command is rewritten to another type of
command. command.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect4> </sect4>
</sect3> </sect3>
<sect3> <sect3>
<title>Build Options</title> <title>Build Options</title>
<itemizedlist> <itemizedlist>
......
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