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