-<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.438 2006/09/18 23:19:50 momjian Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.439 2006/09/19 00:57:07 momjian Exp $ -->
<!--
Typical markup:
pg_[A-Za-z0-9_] <application>
[A-Z][A-Z] <type>, <envar>, <literal>
non-ascii convert to & escapes
- http://www.mountaindragon.com/html/iso.htm
- encode multibytes as UTF8
- http://www.pemberley.com/janeinfo/latin1.html#latexta
+ http://www.mountaindragon.com/html/iso.htm
+ encode multibytes as UTF8
+ http://www.pemberley.com/janeinfo/latin1.html#latexta
wrap long lines
For new features, add links to the documentation sections.
<title>Overview</title>
<para>
- Major changes in this release:
+ This release adds many improvements to commands and database
+ facilities that were requested by users. Rather than add a
+ few large new features, this release makes many features from
+ previous releases easier to use. For example, it is now much
+ easier to create standby point-in-time-recovery (PITR) servers.
+ Many performance bottlenecks have been eliminated, allowing
+ more functionality to be enabled by default. Various additions
+ will make porting from other databases easier. The changes
+ in this release continue the <productname>PostgreSQL</>
+ tradition of not only being the most advanced open source
+ database, but also the easiest to use.
</para>
- <variablelist>
-
- <varlistentry>
- <term>
- XX
- </term>
-
- <listitem>
- <para>
- XX
- </para>
- </listitem>
- </varlistentry>
-
- </variablelist>
</sect2>
<sect2>
<itemizedlist>
- <listitem>
- <para>
- XX
- </para>
- <para>
- YYY
- </para>
- </listitem>
-
- </itemizedlist>
- </sect2>
-
- <sect2>
- <title>Additional Changes</title>
-
- <para>
- Below you will find a detailed account of the additional
- changes between <productname>PostgreSQL</productname> 8.2 and
- the previous major release.
- </para>
-
- <sect3>
- <title>Performance Improvements</title>
- <itemizedlist>
-
<listitem>
<para>
- Improve efficiency of <literal>IN</> (list-of-expressions)
- clauses (Tom)
+ Improve cost estimation for nestloop index scans (Tom)
</para>
- </listitem>
- <listitem>
<para>
- Reduce locking requirements of sequential scans (Qingqing
- Zhou)
+ This may eliminate the need to set unrealistically small
+ values of <envar>random_page_cost</>. If you have been
+ using a very small <envar>random_page_cost</>, please
+ recheck your test cases.
</para>
</listitem>
<listitem>
<para>
- Improve subtransaction performance (Alvaro, Itagaki Takahiro,
- Tom)
+ Deprecate use of <application>postmaster</> symlink (Peter)
+ </para>
+
+ <para>
+ <application>postmaster</> and <application>postgres</>
+ commands now act identically, with the behavior determined
+ by switches. The <application>postmaster</> symlink is
+ kept for compatibility, but is not really needed.
</para>
</listitem>
<listitem>
<para>
- Improve locking performance by breaking locks into sections
- (Tom)
+ Change <envar>log_duration</> to output even if the query
+ is not output (Tom)
</para>
<para>
- This allows locking to be more fine-grained, reducing
- contention.
+ In prior releases, <envar>log_duration</> only printed if
+ the query appeared earlier in the logs.
</para>
</listitem>
<listitem>
<para>
- Allow the planner to re-order <literal>OUTER JOIN</>s when
- possible (Tom)
+ Make row comparisons follow <acronym>SQL</> standard
+ semantics and allow them to be used in index scans (Tom)
</para>
<para>
- This makes a considerable difference for queries involving
- multiple outer joins.
+ Previously, row = and <> comparisons followed the
+ standard but < <= > >= did not. A row comparison
+ can now be used as an index constraint for a multicolumn
+ index matching the row value.
</para>
</listitem>
<listitem>
<para>
- Improve planning of joins to inherited tables and <literal>UNION
- ALL</> views (Tom)
+ Set <envar>escape_string_warning</> to <literal>on</> by
+ default (Bruce)
+ </para>
+
+ <para>
+ This issues a warning if backslash escapes are used in
+ non-escape (non-<literal>E''</>) strings.
</para>
</listitem>
<listitem>
<para>
- Improve cost estimation for nestloop index scans (Tom)
+ Disallow aggregate functions in <command>UPDATE</> commands
+ (unless within a subquery) (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.
+ The standard disallows this, and it leads to unpredictable
+ results.
</para>
</listitem>
<listitem>
<para>
- Increase default values for <envar>shared_buffers</> and
- <envar>max_fsm_pages</>(Andrew)
+ Change the row constructor syntax (<literal>ROW(...)</>)
+ so that list elements <literal>foo.*</> will be expanded
+ to a list of their member fields, rather than creating a
+ nested rowtype field as formerly (Tom)
</para>
- </listitem>
- <listitem>
<para>
- Improve the optimizer statistics used by <literal>LIKE</>,
- <literal>ILIKE</>, and regular expression operations (Tom)
+ The new behavior is substantially more useful since it
+ allows, for example, triggers to check for data changes
+ with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
+ The old behavior is still available by omitting <literal>.*</>.
</para>
</listitem>
<listitem>
<para>
- Allow constraint exclusion to be applied to inherited
- <command>UPDATE</>/<command>DELETE</> queries (Tom)
+ Have <command>SET CONSTRAINT</> affect only one constraint
+ (Kris Jurka)
</para>
<para>
- <command>SELECT</> already honored constraint exclusion.
+ In previous releases, <command>SET CONSTRAINT</> modified
+ all constraints with a matching name. In this release,
+ the schema search path is used to modify only the first
+ matching constraint. A schema specification is also
+ supported.
</para>
</listitem>
<listitem>
<para>
- Improve sorting speed and reduce memory usage (Simon, Tom)
+ Remove rule permission for tables, for security reasons
+ (Tom)
</para>
- </listitem>
- <listitem>
<para>
- <function>MIN()</>/<function>MAX()</> can now use indexes
- in more cases (Tom)
+ In this release, only a table's owner can create or modify
+ rules for the table. For backwards compatibility,
+ <command>GRANT</>/<command>REVOKE RULE</> is still accepted,
+ but it does nothing.
</para>
</listitem>
<listitem>
<para>
- Improve concurrency for database creation and destruction
- (Tom)
+ Array comparison improvements (Tom)
</para>
- </listitem>
- <listitem>
<para>
- Speed up vacuuming of btree indexes (Heikki Linnakangas,
- Tom)
+ Now array dimensions are also compared.
</para>
</listitem>
<listitem>
<para>
- Improve <command>COPY</> performance (Alon Goldshuv, Tom)
+ Change array concatenation to match documented behavior
+ (Tom)
+ </para>
+
+ <para>
+ This changes the previous behavior where concatenation
+ would adjust the lower array dimensions.
</para>
</listitem>
<listitem>
<para>
- Add <literal>FILLFACTOR</> to table and index creation
- (ITAGAKI Takahiro)
- </para>
+ Have <function>to_char(time)</> and <function>to_char(interval)</>
+ treat <literal>'HH'</> and <literal>'HH12'</> as 12-hour
+ intervals.
<para>
- This adds extra free space to each heap or index page,
- allowing improved performance as the database grows. This
- is particularly valuable to maintain <command>CLUSTER</>ing.
+ Most applications should use <literal>'HH24'</> unless they
+ want a 12-hour display.
</para>
</listitem>
<listitem>
<para>
- Remove dead index entries before btree page split (Junji
- Teramoto)
+ Zero unmasked bits in conversion from <type>INET</> to
+ <type>CIDR</> (Tom)
</para>
</listitem>
- </sect3>
-
- <sect3>
- <title>Server Changes</title>
- <itemizedlist>
<listitem>
<para>
- Improve performance of statistics monitoring, especially
- <literal>stats_command_string</> (Tom, Bruce)
+ Remove <envar>australian_timezones</> configuration variable
+ (Joachim Wieland)
</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.
+ No longer needed now that timezone abbreviations are
+ configurable.
</para>
</listitem>
<listitem>
<para>
- Add support for include directives in <filename>postgresql.conf</>
- (Joachim Wieland)
+ Change <application>libpq</> <function>PQdsplen()</> to
+ return a useful value (Martijn van Oosterhout)
</para>
</listitem>
<listitem>
<para>
- Add native <acronym>LDAP</> authentication (Magnus Hagander)
+ Change <application>libpq</> <function>PQgetssl()</> to
+ return a <literal>void*</>, rather than <literal>SSL*</>
+ (Martijn van Oosterhout)
</para>
<para>
- This is particularly useful for platforms that do not
- support <acronym>PAM</>, such as Win32.
+ This allows applications to use the function without
+ <acronym>SSL</> headers.
</para>
</listitem>
<listitem>
<para>
- Re-enable <envar>full_page_writes</> (Tom)
+ Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
</para>
<para>
- This flag can now be used even with <acronym>PITR</>. It
- is turned on automatically between <function>pg_start_backup()</>
- and <function>pg_stop_backup()</> calls.
+ These ports no longer had active maintainers.
</para>
</listitem>
<listitem>
<para>
- Add support for <acronym>SSL</> Certificate Revocation List
- (<acronym>CRL</>) files, <filename>root.crl</> (Libor
- Hohoš)
+ Make command-line options of postmaster and postgres
+ identical (Peter)
</para>
<para>
- This was added to <application>libpq</> as well.
+ This allows the postmaster to pass arguments to each backend
+ without using <literal>-o</>.
</para>
</listitem>
<listitem>
<para>
- Remove routine autovacuum server log entries (Bruce)
- </para>
-
- <para>
- <literal>pg_stat_activity</> now shows autovacuum activity.
+ Remove /contrib/ora2pg, now at <ulink
+ url="http://www.samse.fr/GPL/ora2pg"></ulink>
</para>
</listitem>
<listitem>
<para>
- Add <literal>GRANT CONNECT ON DATABASE</>, to be used in
- addition to <filename>pg_hba.conf</> (Gevik Babakhani)
+ Remove contrib modules that have been migrated to pgfoundry:
+ adddepend, dbase, dbmirror, fulltextindex, mac, userlock
</para>
+ </listitem>
+ <listitem>
<para>
- This gives SQL-control over database access, and works in
- combination with the existing <filename>pg_hba.conf</>
- controls.
+ Remove contrib abandoned modules: mSQL-interface, ips
</para>
</listitem>
<listitem>
<para>
- Add last vacuum and analyze timestamp columns to the stats
- collector (Larry Rosenman)
+ In /contrib/xml2, rename <function>xml_valid()</> to
+ <function>xml_is_well_formed()</> (Tom)
</para>
<para>
- These values now appear in the <literal>pg_stat_*_tables</>
- system views, and are used by autovacuum. ?
+ <function>xml_valid()</> will remain for backward compability,
+ but its behavior will change to do schema checks in future
+ releases.
</para>
</listitem>
+ </itemizedlist>
+ </sect2>
+
+ <sect2>
+ <title>Changes</title>
+
+ <para>
+ Below you will find a detailed account of the additional
+ changes between <productname>PostgreSQL</productname> 8.2 and
+ the previous major release.
+ </para>
+
+ <sect3>
+ <title>Performance Improvements</title>
+ <itemizedlist>
+
<listitem>
<para>
- Deprecate use of <application>postmaster</> symlink (Peter)
+ Improve efficiency of <literal>IN</> (list-of-expressions)
+ clauses (Tom)
</para>
+ </listitem>
+ <listitem>
<para>
- <application>postmaster</> and <application>postgres</>
- commands now act identically, with the behavior determined
- by switches. The <application>postmaster</> symlink is
- kept for compatibility, but is not really needed.
+ Reduce locking requirements of sequential scans (Qingqing
+ Zhou)
</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)
+ Improve subtransaction performance (Alvaro, Itagaki Takahiro,
+ Tom)
</para>
</listitem>
<listitem>
<para>
- Track tables needing vacuum with more accuracy (Alvaro)
+ Improve locking performance by breaking locks into sections
+ (Tom)
</para>
<para>
- This reduces the overhead involved in preventing transaction
- ID wraparound.
+ This allows locking to be more fine-grained, reducing
+ contention.
</para>
</listitem>
<listitem>
<para>
- Allow units to be specified in configuration settings
- (Peter)
+ Allow the planner to re-order <literal>OUTER JOIN</>s when
+ possible (Tom)
</para>
<para>
- You can now set <envar>shared_buffer</> to <literal>32000kB</>,
- for example.
+ This makes a considerable difference for queries involving
+ multiple outer joins.
</para>
</listitem>
<listitem>
<para>
- Improve logging of protocol-level prepare/bind/execute
- messages (Bruce, Tom)
+ Improve planning of joins to inherited tables and <literal>UNION
+ ALL</> views (Tom)
</para>
+ </listitem>
+ <listitem>
<para>
- Such logging now shows statement names, bind parameter
- values, and the text of the query being executed.
+ Increase default values for <envar>shared_buffers</> and
+ <envar>max_fsm_pages</>(Andrew)
</para>
</listitem>
<listitem>
<para>
- Change <envar>log_duration</> to output even if the query
- is not output (Tom)
+ Improve the optimizer statistics used by <literal>LIKE</>,
+ <literal>ILIKE</>, and regular expression operations (Tom)
</para>
+ </listitem>
+ <listitem>
<para>
- In prior releases, <envar>log_duration</> only printed if
- the query appeared earlier in the logs.
+ Allow constraint exclusion to be applied to inherited
+ <command>UPDATE</>/<command>DELETE</> queries (Tom)
</para>
- </listitem>
- <listitem>
<para>
- Allow a forced switch to a new xlog file (Simon Riggs, Tom)
+ <command>SELECT</> already honored constraint exclusion.
</para>
+ </listitem>
+ <listitem>
<para>
- This is valuable for keeping <acronym>PITR</> standby
- servers in sync with the master. xlog file switching also
- happens automatically during <function>pg_stop_backup()</>.
- This ensures that <acronym>PITR</> servers have all xlog
- files needed for recovery.
+ Improve sorting speed and reduce memory usage (Simon, Tom)
</para>
</listitem>
<listitem>
<para>
- Add <acronym>WAL</> informational functions (Simon Riggs)
+ <function>MIN()</>/<function>MAX()</> can now use indexes
+ in more cases (Tom)
</para>
+ </listitem>
+ <listitem>
<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.
+ Improve concurrency for database creation and destruction
+ (Tom)
</para>
</listitem>
<listitem>
<para>
- Allow <acronym>WAL</> replay to be restored quicker in case
- of a crash (Simon Riggs)
+ Speed up vacuuming of btree indexes (Heikki Linnakangas,
+ Tom)
</para>
+ </listitem>
+ <listitem>
<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.
+ Improve <command>COPY</> performance (Alon Goldshuv, Tom)
</para>
</listitem>
<listitem>
<para>
- Add <envar>archive_timeout</> to force xlog file switches
- at a given interval (Simon Riggs)
+ Add <literal>FILLFACTOR</> to table and index creation
+ (ITAGAKI Takahiro)
+ </para>
+
+ <para>
+ This adds extra free space to each heap or index page,
+ allowing improved performance as the database grows. This
+ is particularly valuable to maintain <command>CLUSTER</>ing.
</para>
+ </listitem>
+ <listitem>
<para>
- This enforces a maximum delay for <acronym>PITR</> standby
- servers.
+ Improve multicolumn <acronym>GIST</> indexing (Oleg, Teodor)
</para>
</listitem>
<listitem>
<para>
- Add a <literal>waiting</> column to <literal>pg_stat_activity</>
- (Tom)
+ <acronym>GIST</> indexes now are clusterable (Teodor)
</para>
+ </listitem>
+ <listitem>
<para>
- This allows <literal>pg_stat_activity</> to show the same
- information as the <literal>ps</> display.
+ Remove dead index entries before btree page split (Junji
+ Teramoto)
</para>
+ </listitem>
</sect3>
<sect3>
- <title>Query Changes</title>
+ <title>Server Changes</title>
<itemizedlist>
<listitem>
<para>
- Support portal parameters in <command>EXPLAIN</> and
- <command>EXECUTE</> (Tom)
+ Improve performance of statistics monitoring, especially
+ <literal>stats_command_string</> (Tom, Bruce)
</para>
<para>
- This allows, for example, <literal>?</> parameters to work
- in these commands in <acronym>JDBC</>.
+ This release sets <envar>stats_command_string</> to
+ <literal>on</> by default, now that its overhead is minimal.
+ This means <literal>pg_stat_activity</> now will show all
+ active queries by default.
</para>
</listitem>
<listitem>
<para>
- Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule)
+ Add support for include directives in <filename>postgresql.conf</>
+ (Joachim Wieland)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add native <acronym>LDAP</> authentication (Magnus Hagander)
</para>
<para>
- It is similar to equals (<literal>=</>), but is true when
- both left and right arguments are <literal>NULL</>, and
- false when just one is, rather than yielding <literal>NULL</>
- in these cases.
+ This is particularly useful for platforms that do not
+ support <acronym>PAM</>, such as Win32.
</para>
</listitem>
<listitem>
<para>
- Make row comparisons follow <acronym>SQL</> standard
- semantics and allow them to be used in index scans (Tom)
+ Allow <envar>full_page_writes</> to be turned <literal>off</>
+ again (Tom)
</para>
<para>
- Previously, row = and <> comparisons followed the
- standard but < <= > >= did not. A row comparison
- can now be used as an index constraint for a multicolumn
- index matching the row value.
+ This flag can now be used even with <acronym>PITR</>. It
+ is turned on automatically between <function>pg_start_backup()</>
+ and <function>pg_stop_backup()</> calls.
</para>
</listitem>
<listitem>
<para>
- Allow additional row values comparison (Tom)
+ Add support for <acronym>SSL</> Certificate Revocation List
+ (<acronym>CRL</>) files, <filename>root.crl</> (Libor
+ Hohoš)
</para>
<para>
- Add <, <=, >, >=.
+ This was added to <application>libpq</> as well.
</para>
</listitem>
<listitem>
<para>
- Add system view <literal>pg_prepared_statements</> to show
- prepared statements (Joachim Wieland)
+ Remove routine autovacuum server log entries (Bruce)
+ </para>
+
+ <para>
+ <literal>pg_stat_activity</> now shows autovacuum activity.
</para>
</listitem>
<listitem>
<para>
- Add system view <literal>pg_cursors</> to show open cursors
- (Joachim Wieland)
+ Add <literal>GRANT CONNECT ON DATABASE</>, to be used in
+ addition to <filename>pg_hba.conf</> (Gevik Babakhani)
</para>
<para>
- Both this and <literal>pg_prepared_statements</> are very
- useful for pooled connection setups.
+ This gives SQL-control over database access, and works in
+ combination with the existing <filename>pg_hba.conf</>
+ controls.
</para>
</listitem>
<listitem>
<para>
- If <acronym>SQL</>-level <command>PREPARE</> parameters
- are unknown, infer their types from the context of the
- query (Neil)
+ Add last vacuum and analyze timestamp columns to the stats
+ collector (Larry Rosenman)
+ </para>
+
+ <para>
+ These values now appear in the <literal>pg_stat_*_tables</>
+ system views, and are used by autovacuum. ?
</para>
+ </listitem>
+ <listitem>
<para>
- Protocol-level <command>PREPARE</> already did this.
+ Add <acronym>GUC</> <envar>update_process_title</> to
+ control whether the <application>ps</> display is updated
+ for every command, default to <literal>on</> (Bruce)
</para>
</listitem>
<listitem>
<para>
- Allow <command>UPDATE</> and <command>DELETE</> to use an
- alias for the target table (Atsushi Ogawa)
+ Track tables needing vacuum with more accuracy (Alvaro)
</para>
<para>
- This allows these statements to support self-joins more
- conveniently. <command>UPDATE</> already supported as
- <literal>FROM</> clause, but <command>DELETE</> did not.
+ This reduces the overhead involved in preventing transaction
+ ID wraparound.
</para>
</listitem>
<listitem>
<para>
- Add <literal>CASCADE</> option to <command>TRUNCATE</>
- (Joachim Wieland)
+ Allow units to be specified in configuration settings
+ (Peter)
</para>
<para>
- This allows <command>TRUNCATE</> also to automatically
- truncate all foreign-key referencing tables.
+ You can now set <envar>shared_buffer</> to <literal>32000kB</>,
+ for example.
</para>
</listitem>
<listitem>
<para>
- Enable <envar>standard_conforming_strings</> to be turned
- <literal>on</> (Kevin Grittner)
+ Improve logging of protocol-level prepare/bind/execute
+ messages (Bruce, Tom)
</para>
<para>
- This allow special backslash escaping in strings to be
- turned off so <productname>PostgreSQL</> is more
- standards-compliant. The default is <literal>off</>, but
- future releases will default this to <literal>on</>.
+ Such logging now shows statement names, bind parameter
+ values, and the text of the query being executed.
</para>
</listitem>
<listitem>
<para>
- Set <envar>escape_string_warning</> to <literal>on</> by
- default (Bruce)
+ Allow a forced switch to a new xlog file (Simon Riggs, Tom)
</para>
<para>
- This issues a warning if backslash escapes are used in
- non-escape (non-<literal>E''</>) strings.
+ This is valuable for keeping <acronym>PITR</> standby
+ servers in sync with the master. xlog file switching also
+ happens automatically during <function>pg_stop_backup()</>.
+ This ensures that <acronym>PITR</> servers have all xlog
+ files needed for recovery.
</para>
</listitem>
<listitem>
<para>
- Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
- in the same command (Tom)
+ Add <acronym>WAL</> informational functions (Simon Riggs)
+ </para>
+
+ <para>
+ Add functions for interrogating the current xlog insertion
+ point and determining <acronym>WAL</> filenames from the
+ hex <acronym>WAL</> locations displayed by
+ <function>pg_stop_backup()</> and friends.
</para>
</listitem>
<listitem>
<para>
- Disallow aggregate functions in <command>UPDATE</> commands
- (unless within a subquery) (Tom)
+ Allow <acronym>WAL</> replay to be restored quicker in case
+ of a crash (Simon Riggs)
</para>
<para>
- The standard disallows this, and it leads to unpredictable
- results.
+ 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>
- Change the row constructor syntax (<literal>ROW(...)</>)
- so that list elements <literal>foo.*</> will be expanded
- to a list of their member fields, rather than creating a
- nested rowtype field as formerly (Tom)
+ Add <envar>archive_timeout</> to force xlog file switches
+ at a given interval (Simon Riggs)
</para>
<para>
- The new behavior is substantially more useful since it
- allows, for example, triggers to check for data changes
- with <literal>IF row(new.*) IS DISTINCT FROM row(old.*)</>.
- The old behavior is still available by omitting <literal>.*</>.
+ This enforces a maximum delay for <acronym>PITR</> standby
+ servers.
</para>
</listitem>
<listitem>
<para>
- Change <literal>LIMIT</>/<literal>OFFSET</> to use
- <type>int8</> (Dhanaraj M)
+ Add a <literal>waiting</> column to <literal>pg_stat_activity</>
+ (Tom)
</para>
<para>
- This allows <literal>LIMIT</>/<literal>OFFSET</> over
- two-billion.
+ This allows <literal>pg_stat_activity</> to show the same
+ information as the <literal>ps</> display.
</para>
</listitem>
+ </sect3>
+
+ <sect3>
+ <title>Query Changes</title>
+ <itemizedlist>
+
<listitem>
<para>
- Add support for multi-row <literal>VALUES</> clauses as
- part of <command>INSERT</> and <command>SELECT</> statements
- (Joe, Tom)
+ Support portal parameters in <command>EXPLAIN</> and
+ <command>EXECUTE</> (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, ...)</>.
+ This allows, for example, <literal>?</> parameters to work
+ in these commands in <acronym>JDBC</>.
</para>
</listitem>
<listitem>
<para>
- Improve the length output used by
- <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
- (Tom)
+ Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule)
</para>
<para>
- When all columns are of the same defined length, that length
- is used for output, rather than a generic length.
+ It is similar to equals (<literal>=</>), but is true when
+ both left and right arguments are <literal>NULL</>, and
+ false when just one is, rather than yielding <literal>NULL</>
+ in these cases.
</para>
</listitem>
<listitem>
<para>
- Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
- <literal>RETURNING</> (Jonah Harris, Tom)
+ Allow additional row value comparisons (Tom)
</para>
<para>
- This allows these commands to return values, such as the
- computed serial key for a new row. In the <command>UPDATE</>
- case, values from the new state of the row are returned.
+ Add <, <=, >, >=.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Add system view <literal>pg_prepared_statements</> to show
+ prepared statements (Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
- Allow <command>UPDATE</> to set multiple columns with a
- list of values (Susanne Ebrecht)
+ Add system view <literal>pg_cursors</> to show open cursors
+ (Joachim Wieland)
</para>
<para>
- This is basically as short-hand for assigning the columns
- and values in pairs. The syntax is <literal>UPDATE tab
- SET (col, ...) = (val, ...)</>.
+ Both this and <literal>pg_prepared_statements</> are very
+ useful for pooled connection setups.
</para>
</listitem>
<listitem>
<para>
- Allow <literal>ILIKE</> to work for multi-byte encodings
- (Tom)
+ If <acronym>SQL</>-level <command>PREPARE</> parameters
+ are unknown, infer their types from the context of the
+ query (Neil)
</para>
<para>
- Internally, <literal>ILIKE</> now calls <function>lower()</>
- and then uses <literal>LIKE</>. Locale-specific regular
- expression operations still do not work in these encodings.
+ Protocol-level <command>PREPARE</> already did this. ?
</para>
</listitem>
<listitem>
<para>
- Protocol-level unnamed prepared statements are re-planned
- for each set of <literal>BIND</> values (Tom)
+ Allow <command>UPDATE</> and <command>DELETE</> to use an
+ alias for the target table (Atsushi Ogawa)
</para>
<para>
- This improves performance because the exact parameter values
- can be used in the plan.
+ This allows these statements to support self-joins more
+ conveniently. <command>UPDATE</> already supported as
+ <literal>FROM</> clause, but <command>DELETE</> did not.
</para>
</listitem>
<listitem>
<para>
- Do not flatten subqueries that contain <literal>VOLATILE</>
- functions in their target lists (Jaime Casanova)
+ Add <literal>CASCADE</> option to <command>TRUNCATE</>
+ (Joachim Wieland)
</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</>.
+ This allows <command>TRUNCATE</> also to automatically
+ truncate all foreign-key referencing tables.
</para>
- </sect3>
-
- <sect3>
- <title>Object Manipulation Changes</title>
- <itemizedlist>
+ </listitem>
<listitem>
<para>
- Add <command>DROP</> object <literal>IF EXISTS</> for many
- object types (Andrew)
+ Enable <envar>standard_conforming_strings</> to be turned
+ <literal>on</> (Kevin Grittner)
</para>
<para>
- This allows <command>DROP</> operations on non-existent
- objects without generating an error.
+ This allow special backslash escaping in strings to be
+ turned off so <productname>PostgreSQL</> is more
+ standards-compliant. The default is <literal>off</>, but
+ future releases will default this to <literal>on</>.
</para>
</listitem>
<listitem>
<para>
- Add <literal>DROP OWNED</> to drop all objects owned by a
- role (Alvaro)
+ Support <literal>FOR UPDATE</> and <literal>FOR SHARE</>
+ in the same command (Tom)
</para>
</listitem>
<listitem>
<para>
- Add <literal>REASSIGN OWNED</> to reassign ownership of
- all objects owned by a role (Alvaro)
+ Change <literal>LIMIT</>/<literal>OFFSET</> to exceed
+ two billion</> (Dhanaraj M)
</para>
+ </listitem>
+ <listitem>
<para>
- This, and <literal>DROP OWNED</> above, facilitate dropping
- roles.
+ Add support for multi-row <literal>VALUES</> clauses as
+ part of <command>INSERT</> and <command>SELECT</> statements
+ (Joe, Tom)
</para>
- </listitem>
- <listitem>
<para>
- Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
- which removes the role's password (Peter)
+ This allows <command>INSERT</> to insert multiple rows of
+ constants, or queries to generate result sets using constants.
+ For example, <literal>INSERT ... VALUES (...), (...),
+ ....</>, and <literal>SELECT * FROM (VALUES (...), (...),
+ ....) AS alias(f1, ...)</>.
</para>
</listitem>
<listitem>
<para>
- Properly enforce <literal>DOMAIN</> check constraints
- everywhere (Neil, Tom)
+ Improve the length output used by
+ <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</>
+ (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.
+ When all columns are of the same defined length, that length
+ is used for output, rather than a generic length.
</para>
</listitem>
<listitem>
<para>
- Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
+ Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</>
+ <literal>RETURNING</> (Jonah Harris, Tom)
</para>
<para>
- This was added for setting sequence-specific permissions.
- <literal>GRANT ON [TABLE]</> for sequences is still supported
- for backward compatibility.
+ This allows these commands to return values, such as the
+ computed serial key for a new row. In the <command>UPDATE</>
+ case, values from the new state of the row are returned.
</para>
</listitem>
<listitem>
<para>
- Add <literal>USAGE</> permission for sequences that allows
- only <function>currval()</> and <function>nextval()</>,
- not <function>setval()</> (Bruce)
+ Allow <command>UPDATE</> to set multiple columns with a
+ list of values (Susanne Ebrecht)
</para>
<para>
- <literal>USAGE</> permission allows more find-grained
- control over sequence access. It allows users to increment
- a sequence, but prevents them from setting the sequence to
- an arbitrary value using <function>setval()</>.
+ This is basically as short-hand for assigning the columns
+ and values in pairs. The syntax is <literal>UPDATE tab
+ SET (col, ...) = (val, ...)</>.
</para>
</listitem>
<listitem>
<para>
- Allow comments on global objects to be stored globally
- (Kris Jurka)
+ Allow <literal>ILIKE</> to work for multi-byte encodings
+ (Tom)
</para>
<para>
- Previously, global object comments were stored in individual
- databases, making them ineffective. This adds a new
- <literal>pg_shdescription</> table.
+ Internally, <literal>ILIKE</> now calls <function>lower()</>
+ and then uses <literal>LIKE</>. Locale-specific regular
+ expression operations still do not work in these encodings.
</para>
</listitem>
<listitem>
<para>
- Add <literal>ON COMMIT</> clauses to <command>CREATE TABLE
- AS</> (Neil)
+ Protocol-level unnamed prepared statements are re-planned
+ for each set of <literal>BIND</> values (Tom)
</para>
<para>
- This allows temporary tables to be truncated or dropped on
- transaction commit. The default behavior is for the table
- to remain until the session ends.
+ This improves performance because the exact parameter values
+ can be used in the plan.
</para>
</listitem>
<listitem>
<para>
- Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
- to <command>CREATE TABLE AS</> (Neil)
+ Do not flatten subqueries that contain <literal>VOLATILE</>
+ functions in their target lists (Jaime Casanova)
</para>
<para>
- This allows the tablespace to be specified for the new
- table.
+ This prevents surprising behavior due to multiple evaluation
+ of a <literal>volatile</> function (such as <function>random()</>
+ or <function>nextval()</>). It may cause performance
+ degradation in the presence of functions that are unnecessarily
+ marked as <literal>volatile</>.
</para>
</listitem>
+ </sect3>
+
+ <sect3>
+ <title>Object Manipulation Changes</title>
+ <itemizedlist>
+
<listitem>
<para>
- Allow placeholder (shell) types to be created (Martijn van
- Oosterhout)
+ Add <command>DROP</> object <literal>IF EXISTS</> for many
+ object types (Andrew)
</para>
<para>
- Shell types create a type reference, without specifying
- any of the aspects of the type. It is useful for creating
- types with input/output functions that reference the data
- type. The syntax is <command>CREATE TYPE typname</>.
+ This allows <command>DROP</> operations on non-existent
+ objects without generating an error.
</para>
</listitem>
<listitem>
<para>
- Add new aggregate creation syntax (Tom)
+ Add <literal>DROP OWNED</> to drop all objects owned by a
+ role (Alvaro)
</para>
+ </listitem>
+ <listitem>
<para>
- The new syntax is <command>CREATE AGGREGATE</> aggname
- (input_type) (parameter_list). This more naturally supports
- the new multi-parameter aggregate functionality. The
- previous syntax is still supported.
+ Add <literal>REASSIGN OWNED</> to reassign ownership of
+ all objects owned by a role (Alvaro)
+ </para>
+
+ <para>
+ This, and <literal>DROP OWNED</> above, facilitate dropping
+ roles.
</para>
</listitem>
<listitem>
<para>
- Aggregate functions now support multiple input parameters
- (Sergey Koposov, Tom)
+ Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>,
+ which removes the role's password (Peter)
</para>
</listitem>
<listitem>
<para>
- Have <command>SET CONSTRAINT</> affect only one constraint
- (Kris Jurka)
+ Properly enforce <literal>DOMAIN</> check constraints
+ everywhere (Neil, Tom)
</para>
<para>
- In previous releases, <command>SET CONSTRAINT</> modified
- all constraints with a matching name. In this release,
- the schema search path is used to modify only the first
- matching constraint. A schema specification is also
- supported.
+ 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>
<para>
- Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
- TABLE LIKE</> (Greg Stark)
+ Add <command>GRANT ON SEQUENCE</> syntax (Bruce)
</para>
<para>
- This allows the new table to receive matching constraints.
+ This was added for setting sequence-specific permissions.
+ <literal>GRANT ON [TABLE]</> for sequences is still supported
+ for backward compatibility.
</para>
</listitem>
<listitem>
<para>
- Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark)
+ Add <literal>USAGE</> permission for sequences that allows
+ only <function>currval()</> and <function>nextval()</>,
+ not <function>setval()</> (Bruce)
</para>
<para>
- 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.
+ <literal>USAGE</> permission allows more find-grained
+ control over sequence access. It allows users to increment
+ a sequence, but prevents them from setting the sequence to
+ an arbitrary value using <function>setval()</>.
</para>
</listitem>
<listitem>
<para>
- Remove rule permission for tables, for security reasons
- (Tom)
+ Allow comments on global objects to be stored globally
+ (Kris Jurka)
</para>
<para>
- In this release, only a table's owner can create or modify
- rules for the table. For backwards compatibility,
- <command>GRANT</>/<command>REVOKE RULE</> is still accepted,
- but it does nothing.
+ Previously, global object comments were stored in individual
+ databases, making them ineffective. This adds a new
+ <literal>pg_shdescription</> table.
</para>
- </sect3>
-
- <sect3>
- <title>Utility Command Changes</title>
- <itemizedlist>
+ </listitem>
<listitem>
<para>
- Reduce progress messages displayed by initdb (Tom)
+ 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>
- Have initdb detect the operating system locale and set the
- default <envar>DateStyle</> accordingly (Peter)
+ Add <literal>TABLESPACE</> and <literal>ON COMMIT</> clauses
+ to <command>CREATE TABLE AS</> (Neil)
</para>
<para>
- This make it more likely that the installed
- <filename>postgresql.conf</> <envar>DateStyle</> value will
- be correct.
+ This allows the tablespace to be specified for the new
+ table.
</para>
</listitem>
<listitem>
<para>
- Have the <command>COPY</> command return a command tag that
- includes the number of rows copied (Volkan Yazıcı)
+ 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>
- Allow <command>VACUUM</> to expire rows without being
- affected by other concurrent <command>VACUUM</>s (Hannu
- Krossing, Alvaro, Tom)
+ 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>
- Avoid extra scan of tables during <command>VACUUM</> of
- index-less table (Greg Stark)
+ Aggregate functions now support multiple input parameters
+ (Sergey Koposov, Tom)
</para>
</listitem>
<listitem>
<para>
- Add option to allow indexes to be created without blocking
- concurrent writes to the table (Greg Stark)
+ Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE
+ TABLE LIKE</> (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.
+ This allows the new table to receive matching constraints.
</para>
</listitem>
<listitem>
<para>
- Allow <command>COPY</> to dump a <command>SELECT</> query
- (Zoltan Boszormenyi, Karel Zak)
+ Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark)
</para>
<para>
- This allows <command>COPY</> to dump arbitrary <acronym>SQL</>
- queries. The syntax is <literal>COPY (SELECT ...) TO</>.
+ 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>
+ </listitem>
+
</sect3>
<sect3>
- <title>Data Type and Function Changes</title>
+ <title>Utility Command Changes</title>
<itemizedlist>
<listitem>
<para>
- Allow arrays to contain <literal>NULL</> elements (Tom)
+ Reduce progress messages displayed by initdb (Tom)
</para>
</listitem>
<listitem>
<para>
- Change array concatenation to match documented behavior
- (Tom)
+ Have initdb detect the operating system locale and set the
+ default <envar>DateStyle</> accordingly (Peter)
</para>
<para>
- This changes the previous behavior where concatenation
- would adjust the lower array dimensions.
+ This make it more likely that the installed
+ <filename>postgresql.conf</> <envar>DateStyle</> value will
+ be correct.
</para>
</listitem>
<listitem>
<para>
- Array comparison improvements (Tom)
- </para>
-
- <para>
- Now array dimensions are also compared.
+ Have the <command>COPY</> command return a command tag that
+ includes the number of rows copied (Volkan Yazıcı)
</para>
</listitem>
<listitem>
<para>
- Allow <function>to_char(time)</> and <function>to_char(interval)</>
- to output <acronym>AM</>/<acronym>PM</> specifications
- (Bruce)
+ Allow <command>VACUUM</> to expire rows without being
+ affected by other concurrent <command>VACUUM</>s (Hannu
+ Krossing, Alvaro, Tom)
</para>
+ </listitem>
+ <listitem>
<para>
- Intervals and times are treated as 24-hour periods, e.g.
- <literal>25 hours</> is <acronym>AM</>.
+ Avoid extra scan of tables without indexes during <command>VACUUM</>
+ (Greg Stark)
</para>
</listitem>
<listitem>
<para>
- Have <function>to_char(time)</> and <function>to_char(interval)</>
- treat <literal>'HH'</> and <literal>'HH12'</> as 12-hour
- intervals.
+ Add option to allow indexes to be created without blocking
+ concurrent writes to the table (Greg Stark)
+ </para>
<para>
- Most applications should use <literal>'HH24'</> unless they
- want a 12-hour display.
+ The new syntax is <command>CREATE INDEX CONCURRENTLY</>.
+ The default behavior is still to block table modification
+ while a index is being created.
</para>
</listitem>
<listitem>
<para>
- Add a server-side sleep function <function>pg_sleep()</>
- (Joachim Wieland)
+ Allow <command>COPY</> to dump a <command>SELECT</> query
+ (Zoltan Boszormenyi, Karel Zak)
+ </para>
+
+ <para>
+ This allows <command>COPY</> to dump arbitrary <acronym>SQL</>
+ queries. The syntax is <literal>COPY (SELECT ...) TO</>.
</para>
</listitem>
+ </sect3>
+
+ <sect3>
+ <title>Data Type and Function Changes</title>
+ <itemizedlist>
+
<listitem>
<para>
- Zero unmasked bits in conversion from <type>INET</> to
- <type>CIDR</> (Tom)
+ Allow arrays to contain <literal>NULL</> elements (Tom)
</para>
</listitem>
<listitem>
<para>
- Add convenient arithmetic operations on <type>INET</>/<type>CIDR</>
- values (Stephen R. van den Berg)
+ Allow <function>to_char(time)</> and <function>to_char(interval)</>
+ to output <acronym>AM</>/<acronym>PM</> specifications
+ (Bruce)
</para>
<para>
- The new operators are <literal>&</> (and), <literal>|</>
- (or), <literal>~</> (not), <literal>+</> <type>int8</>,
- <literal>-</> <type>int8</>, and <type>inet</> <literal>-</>
- <type>inet</>.
+ Intervals and times are treated as 24-hour periods, e.g.
+ <literal>25 hours</> is <acronym>AM</>.
</para>
</listitem>
<listitem>
<para>
- Allow <function>to_char()</> to print localized month and
- day names (Euler Taveira de Oliveira)
+ Add a server-side sleep function <function>pg_sleep()</>
+ (Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
- Add all comparison operators for the <type>tid</> data type
- (Mark Kirkwood, Greg Stark, Tom)
+ Add convenient arithmetic operations on <type>INET</>/<type>CIDR</>
+ values (Stephen R. van den Berg)
+ </para>
+
+ <para>
+ The new operators are <literal>&</> (and), <literal>|</>
+ (or), <literal>~</> (not), <literal>+</> <type>int8</>,
+ <literal>-</> <type>int8</>, and <type>inet</> <literal>-</>
+ <type>inet</>.
</para>
</listitem>
<listitem>
<para>
- Add new function <function>justify_interval()</> to adjust
- interval units (Mark Dilger)
+ Allow <function>to_char()</> to print localized month and
+ day names (Euler Taveira de Oliveira)
</para>
</listitem>
<listitem>
<para>
- Add new aggregate functions from SQL2003 (Neil)
+ Add all comparison operators for the <type>tid</> data type
+ (Mark Kirkwood, Greg Stark, Tom)
</para>
+ </listitem>
+ <listitem>
<para>
- The new functions are <function>var_pop()</>,
- <function>var_samp()</>, <function>stddev_pop()</>, and
- <function>stddev_samp()</>. <function>var_samp()</> and
- <function>stddev_samp()</> are merely renamings of the
- existing aggregates <function>variance()</> and
- <function>stddev()</>. The latter names have been kept
- for backward compatibility.
+ Add new function <function>justify_interval()</> to adjust
+ interval units (Mark Dilger)
</para>
</listitem>
<listitem>
<para>
- New operators for array-subset comparisons (<literal>@></>,
- <literal><@</>, <literal>&&</>) (Teodor, Tom)
+ Add new aggregate functions from SQL2003 (Neil)
</para>
<para>
- The old operators were kept for backward compatibility.
+ The new functions are <function>var_pop()</>,
+ <function>var_samp()</>, <function>stddev_pop()</>, and
+ <function>stddev_samp()</>. <function>var_samp()</> and
+ <function>stddev_samp()</> are merely renamings of the
+ existing aggregates <function>variance()</> and
+ <function>stddev()</>. The latter names have been kept
+ for backward compatibility.
</para>
</listitem>
<listitem>
<para>
- Allow domains to be created using other domains (Tom)
+ New operators for array-subset comparisons (<literal>@></>,
+ <literal><@</>, <literal>&&</>) (Teodor, Tom)
</para>
- </listitem>
- <listitem>
<para>
- Add <function>clock_timestamp()</>,
- <function>statement_timestamp()</>, and
- <function>transaction_timestamp()</> (Bruce)
+ The old operators were kept for backward compatibility.
</para>
+ </listitem>
+ <listitem>
<para>
- <function>clock_timestamp()</> is the true current time,
- and <function>statement_timestamp()</> is the time the
- current command arrived at the server.
- <function>transaction_timestamp()</> is the same as
- <function>now()</>.
+ Allow domains to be created using other domains (Tom)
</para>
</listitem>
<listitem>
<para>
- Allow full timezone names in <type>timestamp</> values
- (Joachim Wieland)
+ Add <function>clock_timestamp()</>,
+ <function>statement_timestamp()</>, and
+ <function>transaction_timestamp()</> (Bruce)
</para>
<para>
- For example, <literal>'2006-05-24 21:11
- America/New_York'::timestamptz</>.
+ <function>clock_timestamp()</> is the true current time,
+ and <function>statement_timestamp()</> is the time the
+ current command arrived at the server.
+ <function>transaction_timestamp()</> is the same as
+ <function>now()</>.
</para>
</listitem>
<listitem>
<para>
- Create a configuration file of timezone abbreviations
- (Joachim Wieland)
+ Allow full timezone names in <type>timestamp</> values
+ (Joachim Wieland)
</para>
<para>
- The file name is controlled by GUC variable
- <envar>timezone_abbreviations</>.
+ For example, <literal>'2006-05-24 21:11
+ America/New_York'::timestamptz</>.
</para>
</listitem>
<listitem>
<para>
- Remove <envar>australian_timezones</> configuration variable
- (Joachim Wieland)
+ Create a configuration file of timezone abbreviations
+ (Joachim Wieland)
</para>
<para>
- No longer needed now that timezone abbreviations are
- configurable.
+ The file name is controlled by GUC variable
+ <envar>timezone_abbreviations</>.
</para>
</listitem>
<listitem>
<para>
- Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</>
- views to show supported timezones (Magnus Hagander)
+ Add <envar>pg_timezone_abbrevs</> and <envar>pg_timezone_names</>
+ views to show supported timezones (Magnus Hagander)
</para>
</listitem>
<listitem>
<para>
- Add SQL2003-standard statistical aggregates (Sergey Koposov)
+ Add SQL2003-standard statistical aggregates (Sergey Koposov)
</para>
<para>
- New functions: <function>regr_intercept()</>,
- <function>regr_slope()</>, <function>regr_r2()</>,
- <function>corr()</>, <function>covar_samp()</>,
- <function>covar_pop()</>, <function>regr_avgx()</>,
- <function>regr_avgy()</>, <function>regr_sxy()</>,
- <function>regr_sxx()</>, <function>regr_syy()</>,
- <function>regr_count()</>
+ New functions: <function>regr_intercept()</>,
+ <function>regr_slope()</>, <function>regr_r2()</>,
+ <function>corr()</>, <function>covar_samp()</>,
+ <function>covar_pop()</>, <function>regr_avgx()</>,
+ <function>regr_avgy()</>, <function>regr_sxy()</>,
+ <function>regr_sxx()</>, <function>regr_syy()</>,
+ <function>regr_count()</>
</para>
</listitem>
<listitem>
<para>
- Fix problems with dumping renamed <type>SERIAL</> columns
- (Tom)
+ Fix problems with dumping renamed <type>SERIAL</> columns
+ (Tom)
</para>
<para>
- The fix is to dump a <type>SERIAL</> column by explicitly
- specifying its <literal>DEFAULT</> and sequence elements,
- and reconstructing the <type>SERIAL</> column on reload
- using a new <command>ALTER SEQUENCE OWNED BY</> command.
- This also allows dropping a <type>SERIAL</> column
- specification.
+ The fix is to dump a <type>SERIAL</> column by explicitly
+ specifying its <literal>DEFAULT</> and sequence elements,
+ and reconstructing the <type>SERIAL</> column on reload
+ using a new <command>ALTER SEQUENCE OWNED BY</> command.
+ This also allows dropping a <type>SERIAL</> column
+ specification.
</para>
</listitem>
<listitem>
<para>
- Interval computation improvements (Michael Glaesemann,
- Bruce)
+ Interval computation improvements (Michael Glaesemann,
+ Bruce)
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Allow <literal>FOR</> statements to return values to scalars
- as well as records and row types (Pavel Stehule)
+ Allow <literal>FOR</> statements to return values to scalars
+ as well as records and row types (Pavel Stehule)
</para>
</listitem>
<listitem>
<para>
- Add a <literal>BY</> clause to the <literal>FOR</> loop,
- to control the iteration increment (Jaime Casanova)
+ Add a <literal>BY</> clause to the <literal>FOR</> loop,
+ to control the iteration increment (Jaime Casanova)
</para>
</listitem>
<listitem>
<para>
- Add <literal>table_name</> and <literal>table_schema</> as
- trigger data (Andrew)
+ Add <literal>table_name</> and <literal>table_schema</> as
+ trigger data (Andrew)
</para>
</listitem>
<listitem>
<para>
- Add <literal>STRICT</> to <command>SELECT INTO</> (Matt
- Miller)
+ Add <literal>STRICT</> to <command>SELECT INTO</> (Matt
+ Miller)
</para>
<para>
- <literal>STRICT</> mode throws an exception if more or less
- than one row is returned by the <command>SELECT</>, for
- <productname>Oracle PL/SQL</> compatibility.
+ <literal>STRICT</> mode throws an exception if more or less
+ than one row is returned by the <command>SELECT</>, for
+ <productname>Oracle PL/SQL</> compatibility.
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Honor <envar>check_function_bodies</> (Tom)
+ Honor <envar>check_function_bodies</> (Tom)
</para>
</listitem>
<listitem>
<para>
- Add prepared queries (Dmitry Karasik)
+ Add prepared queries (Dmitry Karasik)
</para>
</listitem>
<listitem>
<para>
- Add <literal>table_name</> and <literal>table_schema</> as
- trigger data (Adam Sjøgren)
+ Add <literal>table_name</> and <literal>table_schema</> as
+ trigger data (Adam Sjøgren)
</para>
<para>
- <literal>relname</> is kept but now deprecated
+ <literal>relname</> is kept but now deprecated
</para>
</listitem>
<listitem>
<para>
- Make <literal>$_TD</> trigger data a global variable (Andrew)
+ Make <literal>$_TD</> trigger data a global variable (Andrew)
</para>
<para>
- Previously, it was lexical, which caused unexpected sharing
- violations.
+ Previously, it was lexical, which caused unexpected sharing
+ violations.
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Allow functions to return <literal>void</> (Neil)
+ Allow functions to return <literal>void</> (Neil)
</para>
</listitem>
<listitem>
<para>
- Add named parameters to the <literal>args[]</> array (Sven
- Suursoho)
+ Add named parameters to the <literal>args[]</> array (Sven
+ Suursoho)
</para>
</listitem>
<listitem>
<para>
- Return composite-types as dictionary (Sven Suursoho)
+ Return composite-types as dictionary (Sven Suursoho)
</para>
</listitem>
<listitem>
<para>
- Return result-set as <literal>list</>, <literal>iterator</>,
- or <literal>generator </>(Sven Suursoho)
+ Return result-set as <literal>list</>, <literal>iterator</>,
+ or <literal>generator </>(Sven Suursoho)
</para>
</listitem>
<listitem>
<para>
- Allow returning of <literal>composite types</> and
- <literal>result sets</> (Sven Suursoho)
+ Allow returning of <literal>composite types</> and
+ <literal>result sets</> (Sven Suursoho)
</para>
</listitem>
<listitem>
<para>
- Add <literal>table_name</> and <literal>table_schema</> as
- trigger data (Andrew)
+ Add <literal>table_name</> and <literal>table_schema</> as
+ trigger data (Andrew)
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Add new command <literal>\password</> for changing role
- password with client-side password encryption (Peter)
+ Add new command <literal>\password</> for changing role
+ password with client-side password encryption (Peter)
</para>
</listitem>
<listitem>
<para>
- Allow multi-line values to align in the proper column
- (Martijn van Oosterhout)
+ Allow multi-line values to align in the proper column
+ (Martijn van Oosterhout)
</para>
</listitem>
<listitem>
<para>
- Save multi-line statements as a single entry, rather than
- one line at a time (Sergey E. Koposov)
+ 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.
+ This makes up-arrow recall of queries easier.
</para>
</listitem>
<listitem>
<para>
- Allow <literal>\c</> to connect to a new host and port
- number (David, Volkan Yazıcı)
+ Allow <literal>\c</> to connect to a new host and port
+ number (David, Volkan Yazıcı)
</para>
</listitem>
<listitem>
<para>
- Add option to run the entire session in a single transaction
- (Simon)
+ Add option to run the entire session in a single transaction
+ (Simon)
</para>
<para>
- Use options <literal>-1</> or <literal>--single-transaction</>.
+ Use options <literal>-1</> or <literal>--single-transaction</>.
</para>
</listitem>
<listitem>
<para>
- Improve highlighting of error location in query in more
- cases (Tom)
+ Improve highlighting of error location in query in more
+ cases (Tom)
</para>
</listitem>
<listitem>
<para>
- Add tablespace display to <literal>\l+</> (Philip Yarra)
+ Add tablespace display to <literal>\l+</> (Philip Yarra)
</para>
</listitem>
<listitem>
<para>
- Support binary <command>COPY</> (Andreas Pflug)
+ Support binary <command>COPY</> (Andreas Pflug)
</para>
</listitem>
<listitem>
<para>
- Improve <literal>\df</> slash command to include the argument
- names and modes (<literal>OUT</> or <literal>INOUT</>) of
- the function (David Fetter)
+ Improve <literal>\df</> slash command to include the argument
+ names and modes (<literal>OUT</> or <literal>INOUT</>) of
+ the function (David Fetter)
</para>
</listitem>
<listitem>
<para>
- Make the line counter 64-bit so it can handle files over
- two billion lines (David Fetter)
+ Make the line counter 64-bit so it can handle files over
+ two billion lines (David Fetter)
</para>
</listitem>
<listitem>
<para>
- Report both the returned data and the command status tag
- for <command>INSERT</>/<command>UPDATE</>/<command>DELETE
- RETURNING</> (Tom)
+ Report both the returned data and the command status tag
+ for <command>INSERT</>/<command>UPDATE</>/<command>DELETE
+ RETURNING</> (Tom)
</para>
</listitem>
<listitem>
<para>
- Support retrieving <command>SELECT</> results in batches
- using a cursor (Chris Mair)
+ Support retrieving <command>SELECT</> results in batches
+ using a cursor (Chris Mair)
</para>
<para>
- This is accomplished using <command>\set FETCH_COUNT</>.
+ This is accomplished using <command>\set FETCH_COUNT</>.
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Allow complex selection of objects to be included or excluded
- by <application>pg_dump</> (Greg Sabino Mullane)
+ Allow complex selection of objects to be included or excluded
+ by <application>pg_dump</> (Greg Sabino Mullane)
</para>
<para>
- <application>pg_dump</> now supports multiple <literal>-n</>
- (schema) and <literal>-t</> (table) options, and adds
- <literal>-T</> and <literal>-N</> options to exclude objects.
- Also adds support for regular expressions for object names
- in these switches.
+ <application>pg_dump</> now supports multiple <literal>-n</>
+ (schema) and <literal>-t</> (table) options, and adds
+ <literal>-T</> and <literal>-N</> options to exclude objects.
+ Also adds support for regular expressions for object names
+ in these switches.
</para>
</listitem>
<listitem>
<para>
- Add <application>pg_dump</> <literal>-X
- no-data-for-failed-tables</> option to suppress loading
- data if table creation failed (the table already exists)
- (Martin Pitt)
+ Add <application>pg_dump</> <literal>-X
+ no-data-for-failed-tables</> option to suppress loading
+ data if table creation failed (the table already exists)
+ (Martin Pitt)
</para>
</listitem>
<listitem>
<para>
- Add <application>pg_restore</> option to run the entire
- session in a single transaction (Simon)
+ Add <application>pg_restore</> option to run the entire
+ session in a single transaction (Simon)
</para>
<para>
- Use options <literal>-1</> or <literal>--single-transaction</>.
+ Use options <literal>-1</> or <literal>--single-transaction</>.
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Add <function>PQencryptPassword()</> to encrypt passwords
- (Tom)
+ Add <function>PQencryptPassword()</> to encrypt passwords
+ (Tom)
</para>
<para>
- This allows passwords to be sent encrypted for commands
- like <command>ALTER USER ... PASSWORD</>.
+ This allows passwords to be sent encrypted for commands
+ like <command>ALTER USER ... PASSWORD</>.
</para>
</listitem>
<listitem>
<para>
- Change <function>PQdsplen()</> to return a useful value
- (Martijn van Oosterhout)
+ Allow the <filename>.pgpass</> hostname to match the default
+ socket directory, as well as a blank <literal>pghost</>
+ (Bruce)
</para>
</listitem>
<listitem>
<para>
- Change <function>PQgetssl()</> to return a <literal>void*</>,
- rather than <literal>SSL*</> (Martijn van Oosterhout)
+ Add function <function>PQisthreadsafe()</> (Bruce)
</para>
<para>
- This allows applications to use the function without
- <acronym>SSL</> headers.
+ This allows applications to query the thread-safety status
+ of the library.
</para>
</listitem>
<listitem>
<para>
- Allow the <filename>.pgpass</> hostname to match the default
- socket directory, as well as a blank <literal>pghost</>
- (Bruce)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Add function <function>PQisthreadsafe()</> (Bruce)
- </para>
-
- <para>
- This allows applications to query the thread-safety status
- of the library.
+ Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</>
+ (Albe Laurenz)
</para>
</listitem>
<listitem>
<para>
- Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</>
- (Albe Laurenz)
+ Add <function>PQdescribePrepared()</>,
+ <function>PQdescribePortal()</>, and related functions
+ return information about previously prepared statements
+ and open cursors (Volkan Yazıcı)
</para>
</listitem>
- <listitem>
- <para>
- Add <function>PQdescribePrepared()</>,
- <function>PQdescribePortal()</>, and related functions
- return information about previously prepared statements
- and open cursors (Volkan Yazıcı)
- </para>
</sect3>
<sect3>
<listitem>
<para>
- Allow <command>SHOW</> to put its result into a variable
- (Joachim Wieland)
+ Allow <command>SHOW</> to put its result into a variable
+ (Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
- Add <command>COPY TO STDOUT</> (Joachim Wieland)
+ Add <command>COPY TO STDOUT</> (Joachim Wieland)
</para>
</listitem>
<listitem>
<para>
- Add regression tests (Joachim Wieland, Michael)
+ Add regression tests (Joachim Wieland, Michael)
</para>
</listitem>
<listitem>
<para>
- Major source code cleanups (Joachim Wieland, Michael)
+ Major source code cleanups (Joachim Wieland, Michael)
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Improve handling of intermittent file system and resource
- failures (Qingqing Zhou)
+ Improve handling of intermittent file system and resource
+ failures (Qingqing Zhou)
</para>
</listitem>
<listitem>
<para>
- Stability fixes (Magnus)
+ Stability fixes (Magnus)
</para>
<para>
- Particularly, prevent the postmaster from stopping if too
- many connection requests arrive too rapidly.
+ Particularly, prevent the postmaster from stopping if too
+ many connection requests arrive too rapidly.
</para>
</listitem>
<listitem>
<para>
- Add support for Windows code pages <literal>1253</>,
- <literal>1254</>, <literal>1255</>, and <literal>1257</>
- (Kris Jurka)
+ Add support for Windows code pages <literal>1253</>,
+ <literal>1254</>, <literal>1255</>, and <literal>1257</>
+ (Kris Jurka)
</para>
</listitem>
<listitem>
<para>
- Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</>
- server (Magnus, Hiroshi Saito)
+ Allow <acronym>MSVC</> to compile the <productname>PostgreSQL</>
+ server (Magnus, Hiroshi Saito)
</para>
</listitem>
<listitem>
<para>
- Add <acronym>MSVC</> support for utility commands and
- <application>pg_dump </>(Hiroshi Saito)
+ Add <acronym>MSVC</> support for utility commands and
+ <application>pg_dump </>(Hiroshi Saito)
</para>
</listitem>
<listitem>
<para>
- Add native semaphore implementation (Qingqing Zhou)
+ Add native semaphore implementation (Qingqing Zhou)
</para>
<para>
- Previous implementations mimicked SysV semaphores.
+ Previous implementations mimicked SysV semaphores.
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Remove R-tree indexing (Tom)
+ Remove R-tree indexing (Tom)
</para>
<para>
- Rtree has been re-implemented using <acronym>GIST</>.
+ Rtree has been re-implemented using <acronym>GIST</>.
</para>
</listitem>
<listitem>
<para>
- Reduce libraries linked into the backend needlessly (Martijn
- van Oosterhout, Tom)
+ Reduce libraries linked into the backend needlessly (Martijn
+ van Oosterhout, Tom)
</para>
</listitem>
<listitem>
<para>
- New macro <literal>PG_VERSION_NUM</> for use by third-party
- applications wanting to test the backend version in C using
- > and < comparisons (Bruce)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Improve multicolumn <acronym>GIST</> indexing (Oleg, Teodor)
- </para>
- </listitem>
-
- <listitem>
- <para>
- <acronym>GIST</> indexes now are clusterable (Teodor)
- </para>
- </listitem>
-
- <listitem>
- <para>
- Add a configure flag to allow libedit to be preferred over
- <acronym>GNU</> readline (Bruce)
- </para>
-
- <para>
- Use configure <literal>--with-libedit-preferred</>.
+ New macro <literal>PG_VERSION_NUM</> for use by third-party
+ applications wanting to test the backend version in C using
+ > and < comparisons (Bruce)
</para>
</listitem>
<listitem>
<para>
- Allow installation into directories containing spaces
- (Peter)
+ Add a configure flag to allow libedit to be preferred over
+ <acronym>GNU</> readline (Bruce)
</para>
- </listitem>
- <listitem>
<para>
- Improve ability to relocate installs in more complex
- configurations (Tom)
+ Use configure <literal>--with-libedit-preferred</>.
</para>
</listitem>
<listitem>
<para>
- Add support for <productname>Solaris x86_64</> using the
- <productname>Solaris</> compiler (Pierre Girard, Theo
- Schlossnagle, Bruce)
+ Allow installation into directories containing spaces
+ (Peter)
</para>
</listitem>
<listitem>
<para>
- Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce)
- </para>
-
- <para>
- These ports no longer had active maintainers.
+ Improve ability to relocate installs in more complex
+ configurations (Tom)
</para>
</listitem>
<listitem>
<para>
- Make command-line options of postmaster and postgres
- identical (Peter)
- </para>
-
- <para>
- This allows the postmaster to pass arguments to each backend
- without using <literal>-o</>.
+ Add support for <productname>Solaris x86_64</> using the
+ <productname>Solaris</> compiler (Pierre Girard, Theo
+ Schlossnagle, Bruce)
</para>
</listitem>
<listitem>
<para>
- Add <literal>XLOG_BLCKSZ</> as independent from <literal>BLCKSZ</>
- (Mark Wong)
+ Add <literal>XLOG_BLCKSZ</> as independent from <literal>BLCKSZ</>
+ (Mark Wong)
</para>
</listitem>
<listitem>
<para>
- Add <literal>LWLOCK_STATS</> define to report locking
- activity (Tom)
+ Add <literal>LWLOCK_STATS</> define to report locking
+ activity (Tom)
</para>
</listitem>
<listitem>
<para>
- Add <acronym>GIN</> (Generalized Inverted iNdex) index
- access method (Teodor)
+ Add <acronym>GIN</> (Generalized Inverted iNdex) index
+ access method (Teodor)
</para>
</listitem>
<listitem>
<para>
- Emit warnings for unknown <application>configure</> options
- (Martijn van Oosterhout)
+ Emit warnings for unknown <application>configure</> options
+ (Martijn van Oosterhout)
</para>
</listitem>
<listitem>
<para>
- Add <literal>PG_MODULE_MAGIC</> header block to all shared
- object files (Martijn van Oosterhout)
+ Add <literal>PG_MODULE_MAGIC</> header block to all shared
+ object files (Martijn van Oosterhout)
</para>
<para>
- The magic blocks prevent version mismatches between object
- files and servers.
+ The magic blocks prevent version mismatches between object
+ files and servers.
</para>
</listitem>
<listitem>
<para>
- Add a <acronym>GUC</> parameter <envar>seq_page_cost</>
- (Tom)
+ Add a <acronym>GUC</> parameter <envar>seq_page_cost</>
+ (Tom)
</para>
</listitem>
<listitem>
<para>
- Re-implement the regression test script as a C program
- (Magnus, Tom)
+ Re-implement the regression test script as a C program
+ (Magnus, Tom)
</para>
</listitem>
<listitem>
<para>
- Add <application>DTrace</> support (Robert Lor)
+ Add <application>DTrace</> support (Robert Lor)
</para>
</listitem>
<listitem>
<para>
- Allow loadable modules to allocate shared memory and
- lightweight locks (Marc Munro)
+ Allow loadable modules to allocate shared memory and
+ lightweight locks (Marc Munro)
</para>
</listitem>
<listitem>
<para>
- Add automatic initialization and finalization of dynamically
- loaded libraries (Ralf Engelschall, Tom)
+ Add automatic initialization and finalization of dynamically
+ loaded libraries (Ralf Engelschall, Tom)
</para>
<para>
- New functions <function>_PG_init()</> and <function>_PG_fini()</>
- are called if the library defines such symbols. Hence we
- no longer need to specify an initialization function in
- <envar>shared_preload_libraries</>; we can assume that the
- library used the <function>_PG_init()</> convention instead.
+ New functions <function>_PG_init()</> and <function>_PG_fini()</>
+ are called if the library defines such symbols. Hence we
+ no longer need to specify an initialization function in
+ <envar>shared_preload_libraries</>; we can assume that the
+ library used the <function>_PG_init()</> convention instead.
</para>
</listitem>
<listitem>
<para>
- Add support for libraries that enhance server-side languages
- (Korry Douglas)
+ Add support for libraries that enhance server-side languages
+ (Korry Douglas)
</para>
<para>
- Such libraries can be used for debugging or performance
- measurement.
+ Such libraries can be used for debugging or performance
+ measurement.
</para>
</listitem>
<listitem>
<para>
- Rename existing <acronym>GUC</> variable
- <envar>preload_libraries</> to <envar>shared_preload_libraries</>
- (Tom)
+ Rename existing <acronym>GUC</> variable
+ <envar>preload_libraries</> to <envar>shared_preload_libraries</>
+ (Tom)
</para>
</listitem>
<listitem>
<para>
- Add new variable <envar>server_version_num</> (Greg Sabino
- Mullane)
+ Add new variable <envar>server_version_num</> (Greg Sabino
+ Mullane)
</para>
<para>
- This is like server_version, but is an integer, e.g.
- <literal>80200</>. It allows easy applications version
- checks.
+ This is like server_version, but is an integer, e.g.
+ <literal>80200</>. It allows easy applications version
+ checks.
</para>
</listitem>
<listitem>
<para>
- New <acronym>XML</> documentation section (Bruce)
+ New <acronym>XML</> documentation section (Bruce)
</para>
+ </listitem>
+
</sect3>
<sect3>
<listitem>
<para>
- Major tsearch2 improvements (Oleg, Teodor)
+ Major tsearch2 improvements (Oleg, Teodor)
</para>
<itemizedlist>
<listitem>
<para>
- multibyte encoding support, including <acronym>UTF8</>
+ multibyte encoding support, including <acronym>UTF8</>
</para>
</listitem>
<listitem>
<para>
- query rewriting support
+ query rewriting support
</para>
</listitem>
<listitem>
<para>
- improved ranking functions
+ improved ranking functions
</para>
</listitem>
<listitem>
<para>
- thesaurus dictionary support
+ thesaurus dictionary support
</para>
</listitem>
<listitem>
<para>
- Ispell dictionaries now recognize <application>MySpell</>
- format, used by <application>OpenOffice</>.
+ Ispell dictionaries now recognize <application>MySpell</>
+ format, used by <application>OpenOffice</>.
</para>
</listitem>
<listitem>
<para>
- <acronym>GIN</> support
+ <acronym>GIN</> support
</para>
</listitem>
<listitem>
<para>
- Add pg_freespacemap to display free space map information
- (Mark Kirkwood)
- </para>
- </listitem>
-
- <listitem>
- <para>
- New uninstall scripts (David)
+ Add pg_freespacemap to display free space map information
+ (Mark Kirkwood)
</para>
</listitem>
<listitem>
<para>
- Add pgrowlocks (Tatsuo)
- </para>
-
- <para>
- This shows row locking information for a specified table.
+ New uninstall scripts (David)
</para>
</listitem>
<listitem>
<para>
- Add <application>Pgadmin</> administration functions to
- adminpack (Dave)
+ Add pgrowlocks (Tatsuo)
</para>
<para>
- These functions provide additional file system access
- routines not present in the default <productname>PostgreSQL</>
- server.
+ This shows row locking information for a specified table.
</para>
</listitem>
<listitem>
<para>
- Add index information to pgstattuple (ITAGAKI Takahiro,
- Satoshi Nagayasu)
+ Add <application>Pgadmin</> administration functions to
+ adminpack (Dave)
</para>
- </listitem>
- <listitem>
<para>
- pgcrypto now has all planned functionality (Marko Kreen)
+ These functions provide additional file system access
+ routines not present in the default <productname>PostgreSQL</>
+ server.
</para>
</listitem>
<listitem>
<para>
- Update cube (Joshua Reich)
- </para>
-
- <para>
- New functions are <function>cube(float[])</>,
- <function>cube(float[], float[])</>, and
- <function>cube_subset(cube, int4[])</>.
+ Add index information to pgstattuple (ITAGAKI Takahiro,
+ Satoshi Nagayasu)
</para>
</listitem>
<listitem>
<para>
- Added async query capability to dblink (Kai Londenberg,
- Joe Conway)
+ pgcrypto now has all planned functionality (Marko Kreen)
</para>
</listitem>
<listitem>
<para>
- Add sslinfo (Victor Wagner)
+ Update cube (Joshua Reich)
</para>
<para>
- Reports information about the current <acronym>SSL</>
- certificate.
+ New functions are <function>cube(float[])</>,
+ <function>cube(float[], float[])</>, and
+ <function>cube_subset(cube, int4[])</>.
</para>
</listitem>
<listitem>
<para>
- Remove ora2pg, now at <ulink
- url="http://www.samse.fr/GPL/ora2pg"></ulink>
+ Added async query capability to dblink (Kai Londenberg,
+ Joe Conway)
</para>
</listitem>
<listitem>
<para>
- Remove contrib modules that have been migrated to pgfoundry:
- adddepend, dbase, dbmirror, fulltextindex, mac, userlock
+ Add sslinfo (Victor Wagner)
</para>
- </listitem>
- <listitem>
<para>
- Remove abandoned modules: mSQL-interface, ips
+ Reports information about the current <acronym>SSL</>
+ certificate.
</para>
</listitem>
<listitem>
<para>
- Add hstore module (Oleg, Teodor)
+ Add hstore module (Oleg, Teodor)
</para>
</listitem>
<listitem>
<para>
- Add isn module, replacing isbn_issn (Jeremy Kronuz)
+ 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).
+ This now supports <acronym>EAN13</>, <acronym>UPC</>,
+ <acronym>ISBN</> (books), <acronym>ISMN</> (music), and
+ <acronym>ISSN</> (serials).
</para>
</listitem>
<listitem>
<para>
- New operators for array-subset comparisons (<literal>@></>,
- <literal><@</>, <literal>&&</>) (Tom)
- </para>
- </listitem>
-
- <listitem>
- <para>
- In xml, rename <function>xml_valid()</> to
- <function>xml_is_well_formed()</> (Tom)
- </para>
-
- <para>
- <function>xml_valid()</> will remain for backward compability,
- but its behavior will change to do schema checks in future
- releases.
+ New operators for array-subset comparisons (<literal>@></>,
+ <literal><@</>, <literal>&&</>) (Tom)
</para>
</listitem>