diff options
-rw-r--r-- | doc/src/sgml/release.sgml | 1083 |
1 files changed, 628 insertions, 455 deletions
diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 26a5188379d..dafb5917936 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.436 2006/09/18 22:43:16 momjian Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.437 2006/09/18 23:01:43 momjian Exp $ --> <!-- Typical markup: @@ -59,8 +59,9 @@ For new features, add links to the documentation sections. <title>Migration to version 8.2</title> <para> - A dump/restore using <application>pg_dump</application> is required - for those wishing to migrate data from any previous release. + A dump/restore using <application>pg_dump</application> is + required for those wishing to migrate data from any previous + release. </para> <para> @@ -96,130 +97,144 @@ For new features, add links to the documentation sections. <listitem> <para> - Improve efficiency of <literal>IN</> (list-of-expressions) clauses (Tom) + Improve efficiency of <literal>IN</> (list-of-expressions) + clauses (Tom) </para> </listitem> <listitem> <para> - Reduce locking requirements of sequential scans (Qingqing Zhou) + Reduce locking requirements of sequential scans (Qingqing + Zhou) </para> </listitem> <listitem> <para> - Improve subtransaction performance (Alvaro, Itagaki Takahiro, Tom) + Improve subtransaction performance (Alvaro, Itagaki Takahiro, + Tom) </para> </listitem> <listitem> <para> - Improve locking performance by breaking locks into sections (Tom) + Improve locking performance by breaking locks into sections + (Tom) </para> <para> - This allows locking to be more fine-grained, reducing contention. + This allows locking to be more fine-grained, reducing + contention. </para> </listitem> <listitem> <para> - Allow the planner to re-order <literal>OUTER JOIN</>s when possible (Tom) + Allow the planner to re-order <literal>OUTER JOIN</>s when + possible (Tom) </para> <para> - This makes a considerable difference for queries involving multiple outer - joins. + This makes a considerable difference for queries involving + multiple outer joins. </para> </listitem> <listitem> <para> - Improve planning of joins to inherited tables and <literal>UNION ALL</> views (Tom) + Improve planning of joins to inherited tables and <literal>UNION + ALL</> views (Tom) </para> </listitem> <listitem> <para> - Improve cost estimation for nestloop index scans (Tom) + 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. + 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> - Increase default values for <envar>shared_buffers</> and <envar>max_fsm_pages</>(Andrew) + Increase default values for <envar>shared_buffers</> and + <envar>max_fsm_pages</>(Andrew) </para> </listitem> <listitem> <para> - Improve the optimizer statistics used by <literal>LIKE</>, <literal>ILIKE</>, and regular expression - operations (Tom) + Improve the optimizer statistics used by <literal>LIKE</>, + <literal>ILIKE</>, and regular expression operations (Tom) </para> </listitem> <listitem> <para> - Allow constraint exclusion to be applied to inherited <command>UPDATE</>/<command>DELETE</> - queries (Tom) + Allow constraint exclusion to be applied to inherited + <command>UPDATE</>/<command>DELETE</> queries (Tom) </para> <para> - <command>SELECT</> already honored constraint exclusion. + <command>SELECT</> already honored constraint exclusion. </para> </listitem> <listitem> <para> - Improve sorting speed and reduce memory usage (Simon, Tom) + Improve sorting speed and reduce memory usage (Simon, Tom) </para> </listitem> <listitem> <para> - <function>MIN()</>/<function>MAX()</> can now use indexes in more cases (Tom) + <function>MIN()</>/<function>MAX()</> can now use indexes + in more cases (Tom) </para> </listitem> <listitem> <para> - Improve concurrency for database creation and destruction (Tom) + Improve concurrency for database creation and destruction + (Tom) </para> </listitem> <listitem> <para> - Speed up vacuuming of btree indexes (Heikki Linnakangas, Tom) + Speed up vacuuming of btree indexes (Heikki Linnakangas, + Tom) </para> </listitem> <listitem> <para> - Improve <command>COPY</> performance (Alon Goldshuv, Tom) + Improve <command>COPY</> performance (Alon Goldshuv, Tom) </para> </listitem> <listitem> <para> - Add <literal>FILLFACTOR</> to <command>CREATE INDEX</> (ITAGAKI Takahiro) + Add <literal>FILLFACTOR</> to <command>CREATE INDEX</> + (ITAGAKI Takahiro) </para> <para> - This provides infrastructure to allow index access methods to - accept special parameters of all kinds, but <literal>FILLFACTOR</> is - implemented first. + This provides infrastructure to allow index access methods + to accept special parameters of all kinds, but + <literal>FILLFACTOR</> is implemented first. </para> </listitem> <listitem> <para> - Remove dead index entries before btree page split (Junji Teramoto) + Remove dead index entries before btree page split (Junji + Teramoto) </para> </listitem> </sect3> @@ -244,195 +259,212 @@ For new features, add links to the documentation sections. <listitem> <para> - Add support for include directives in <filename>postgresql.conf</> (Joachim Wieland) + Add support for include directives in <filename>postgresql.conf</> + (Joachim Wieland) </para> </listitem> <listitem> <para> - Add native <acronym>LDAP</> authentication (Magnus Hagander) + Add native <acronym>LDAP</> authentication (Magnus Hagander) </para> <para> - This is particularly useful for platforms that do not support <acronym>PAM</>, - such as Win32. + This is particularly useful for platforms that do not + support <acronym>PAM</>, such as Win32. </para> </listitem> <listitem> <para> - Re-enable <envar>full_page_writes</> (Tom) + Re-enable <envar>full_page_writes</> (Tom) </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 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> - Add support for <acronym>SSL</> Certificate Revocation List (<acronym>CRL</>) files, <filename>root.crl</> - (Libor Hohoš) + Add support for <acronym>SSL</> Certificate Revocation List + (<acronym>CRL</>) files, <filename>root.crl</> (Libor + Hohoš) </para> <para> - This was added to <application>libpq</> as well. + This was added to <application>libpq</> as well. </para> </listitem> <listitem> <para> - Remove routine autovacuum server log entries (Bruce) + Remove routine autovacuum server log entries (Bruce) </para> <para> - <literal>pg_stat_activity</> now shows autovacuum activity. + <literal>pg_stat_activity</> now shows autovacuum activity. </para> </listitem> <listitem> <para> - Add <literal>GRANT CONNECT ON DATABASE</>, to be used in addition to <filename>pg_hba.conf</> - (Gevik Babakhani) + Add <literal>GRANT CONNECT ON DATABASE</>, to be used in + addition to <filename>pg_hba.conf</> (Gevik Babakhani) </para> <para> - This gives SQL-control over database access, and works in combination - with the existing <filename>pg_hba.conf</> controls. + This gives SQL-control over database access, and works in + combination with the existing <filename>pg_hba.conf</> + controls. </para> </listitem> <listitem> <para> - Add last vacuum and analyze timestamp columns to the stats collector (Larry - Rosenman) + 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. ? + These values now appear in the <literal>pg_stat_*_tables</> + system views, and are used by autovacuum. ? </para> </listitem> <listitem> <para> - Deprecate use of <application>postmaster</> symlink (Peter) + 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. + <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> - Add <acronym>GUC</> <envar>update_process_title</> to control whether the <application>ps</> display is - updated for every command, default to <literal>on</> (Bruce) + 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> - Track tables needing vacuum with more accuracy (Alvaro) + Track tables needing vacuum with more accuracy (Alvaro) </para> <para> - This reduces the overhead involved in preventing transaction ID - wraparound. + This reduces the overhead involved in preventing transaction + ID wraparound. </para> </listitem> <listitem> <para> - Allow units to be specified in configuration settings (Peter) + Allow units to be specified in configuration settings + (Peter) </para> <para> - You can now set <envar>shared_buffer</> to <literal>32000kB</>, for example. + You can now set <envar>shared_buffer</> to <literal>32000kB</>, + for example. </para> </listitem> <listitem> <para> - Improve logging of protocol-level prepare/bind/execute messages (Bruce, Tom) + Improve logging of protocol-level prepare/bind/execute + messages (Bruce, Tom) </para> <para> - Such logging now shows statement names, bind parameter values, and the - text of the query being executed. + Such logging now shows statement names, bind parameter + values, and the text of the query being executed. </para> </listitem> <listitem> <para> - Change <envar>log_duration</> to output even if the query is not output (Tom) + Change <envar>log_duration</> to output even if the query + is not output (Tom) </para> <para> - In prior releases, <envar>log_duration</> only printed if the query appeared - earlier in the logs. + In prior releases, <envar>log_duration</> only printed if + the query appeared earlier in the logs. </para> </listitem> <listitem> <para> - Allow a forced switch to a new xlog file (Simon Riggs, Tom) + Allow a forced switch to a new xlog file (Simon Riggs, 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 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 <acronym>WAL</> informational functions (Simon Riggs) + 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. + 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) + 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. + 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) + 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. + This enforces a maximum delay for <acronym>PITR</> standby + servers. </para> </listitem> <listitem> <para> - Add a <literal>waiting</> column to <literal>pg_stat_activity</> (Tom) + Add a <literal>waiting</> column to <literal>pg_stat_activity</> + (Tom) </para> <para> - This allows <literal>pg_stat_activity</> to show the same information as the <literal>ps</> - display. + This allows <literal>pg_stat_activity</> to show the same + information as the <literal>ps</> display. </para> </sect3> @@ -442,247 +474,274 @@ For new features, add links to the documentation sections. <listitem> <para> - Support portal parameters in <command>EXPLAIN</> and <command>EXECUTE</> (Tom) + Support portal parameters in <command>EXPLAIN</> and + <command>EXECUTE</> (Tom) </para> <para> - This allows, for example, <literal>?</> parameters to work in these commands in - <acronym>JDBC</>. + This allows, for example, <literal>?</> parameters to work + in these commands in <acronym>JDBC</>. </para> </listitem> <listitem> <para> - Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule) + Add <literal>IS NOT DISTINCT FROM</> (Pavel Stehule) </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. + 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> - Make row comparisons follow <acronym>SQL</> standard semantics and allow them to be - used in index scans (Tom) + Make row comparisons follow <acronym>SQL</> standard + semantics and allow them to be used in index scans (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. + 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> - Allow additional row values comparison (Tom) + Allow additional row values comparison (Tom) </para> <para> - Add <, <=, >, >=. + Add <, <=, >, >=. </para> </listitem> <listitem> <para> - Add system view <literal>pg_prepared_statements</> to show prepared statements (Joachim - Wieland) + Add system view <literal>pg_prepared_statements</> to show + prepared statements (Joachim Wieland) </para> </listitem> <listitem> <para> - Add system view <literal>pg_cursors</> to show open cursors (Joachim Wieland) + Add system view <literal>pg_cursors</> to show open cursors + (Joachim Wieland) </para> <para> - Both this and <literal>pg_prepared_statements</> are very useful for pooled - connection setups. + Both this and <literal>pg_prepared_statements</> are very + useful for pooled connection setups. </para> </listitem> <listitem> <para> - If <acronym>SQL</>-level <command>PREPARE</> parameters are unknown, infer their types from the - context of the query (Neil) + 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. + Protocol-level <command>PREPARE</> already did this. </para> </listitem> <listitem> <para> - Allow <command>UPDATE</> and <command>DELETE</> to use an alias for the target table (Atsushi Ogawa) + Allow <command>UPDATE</> and <command>DELETE</> to use an + alias for the target table (Atsushi Ogawa) </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 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 <literal>CASCADE</> option to <command>TRUNCATE</> (Joachim Wieland) + Add <literal>CASCADE</> option to <command>TRUNCATE</> + (Joachim Wieland) </para> <para> - This allows <command>TRUNCATE</> also to automatically truncate all foreign-key - referencing tables. + This allows <command>TRUNCATE</> also to automatically + truncate all foreign-key referencing tables. </para> </listitem> <listitem> <para> - Enable <envar>standard_conforming_strings</> to be turned on (Kevin Grittner) + Enable <envar>standard_conforming_strings</> to be turned + <literal>on</> (Kevin Grittner) </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</>. + 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> - Set <envar>escape_string_warning</> to <literal>on</> by default (Bruce) + 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. + This issues a warning if backslash escapes are used in + non-escape (non-<literal>E''</>) strings. </para> </listitem> <listitem> <para> - Support <literal>FOR UPDATE</> and <literal>FOR SHARE</> in the same command (Tom) + Support <literal>FOR UPDATE</> and <literal>FOR SHARE</> + in the same command (Tom) </para> </listitem> <listitem> <para> - Disallow aggregate functions in <command>UPDATE</> commands (unless within a - subquery) (Tom) + Disallow aggregate functions in <command>UPDATE</> commands + (unless within a subquery) (Tom) </para> <para> - The standard disallows this, and it leads to unpredictable results. + The standard disallows this, and it leads to unpredictable + results. </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) + 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> - 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>.*</>. + 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> - Change <literal>LIMIT</>/<literal>OFFSET</> to use <type>int8</> (Dhanaraj M) + Change <literal>LIMIT</>/<literal>OFFSET</> to use + <type>int8</> (Dhanaraj M) </para> <para> - This allows <literal>LIMIT</>/<literal>OFFSET</> over two-billion. + This allows <literal>LIMIT</>/<literal>OFFSET</> over + two-billion. </para> </listitem> <listitem> <para> - Add support for multi-row <literal>VALUES</> clauses as part of <command>INSERT</> and <command>SELECT</> statements - (Joe, Tom) + 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, ...)</>. + This allows <command>INSERT</> to insert multiple rows of + constants, or queries to generate result sets using constants. + For example, <literal>INSERT ... VALUES (...), (...), + ....</>, and <literal>SELECT * FROM (VALUES (...), (...), + ....) AS alias(f1, ...)</>. </para> </listitem> <listitem> <para> - Improve the length output used by <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> (Tom) + Improve the length output used by + <literal>UNION</>/<literal>INTERSECT</>/<literal>EXCEPT</> + (Tom) </para> <para> - When all columns are of the same defined length, that length is used - for output, rather than a generic length. + 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>INSERT</>/<command>UPDATE</>/<command>DELETE</> <literal>RETURNING</> (Jonah Harris, Tom) + Add <command>INSERT</>/<command>UPDATE</>/<command>DELETE</> + <literal>RETURNING</> (Jonah Harris, 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. + 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> - Allow <command>UPDATE</> to set multiple columns with a list of values (Susanne - Ebrecht) + Allow <command>UPDATE</> to set multiple columns with a + list of values (Susanne Ebrecht) </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 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 <literal>ILIKE</> to work for multi-byte encodings (Tom) + 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. + 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> - Protocol-level unnamed prepared statements are re-planned for each - set of <literal>BIND</> values (Tom) + Protocol-level unnamed prepared statements are re-planned + for each set of <literal>BIND</> values (Tom) </para> <para> - This improves performance because the exact parameter values can be used - in the plan. + This improves performance because the exact parameter values + can be used in the plan. </para> </listitem> <listitem> <para> - Do not flatten subqueries that contain <literal>VOLATILE</> functions in their - target lists (Jaime Casanova) + 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</>. + 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> </sect3> @@ -692,183 +751,204 @@ For new features, add links to the documentation sections. <listitem> <para> - Add <command>DROP</> object <literal>IF EXISTS</> for many object types (Andrew) + Add <command>DROP</> object <literal>IF EXISTS</> for many + object types (Andrew) </para> <para> - This allows <command>DROP</> operations on non-existent objects without generating - an error. + This allows <command>DROP</> operations on non-existent + objects without generating an error. </para> </listitem> <listitem> <para> - Add <literal>DROP OWNED</> to drop all objects owned by a role (Alvaro) + Add <literal>DROP OWNED</> to drop all objects owned by a + role (Alvaro) </para> </listitem> <listitem> <para> - Add <literal>REASSIGN OWNED</> to reassign ownership of all objects owned by a role - (Alvaro) + 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. + This, and <literal>DROP OWNED</> above, facilitate dropping + roles. </para> </listitem> <listitem> <para> - Add <command>CREATE</>/<command>ALTER ROLE PASSWORD NULL</>, which removes the role's password - (Peter) + 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) + 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. + 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) + Add <command>GRANT ON SEQUENCE</> syntax (Bruce) </para> <para> - This was added for setting sequence-specific permissions. <literal>GRANT ON [TABLE]</> - for sequences is still supported for backward compatibility. + 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>USAGE</> permission for sequences that allows only <function>currval()</> and - <function>nextval()</>, not <function>setval()</> (Bruce) + Add <literal>USAGE</> permission for sequences that allows + only <function>currval()</> and <function>nextval()</>, + not <function>setval()</> (Bruce) </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()</>. + <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> - Allow comments on global objects to be stored globally (Kris Jurka) + 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. + 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) + 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. + 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) + 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. + 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) + 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</>. + 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) + 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. + 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) + Aggregate functions now support multiple input parameters + (Sergey Koposov, Tom) </para> </listitem> <listitem> <para> - Have <command>SET CONSTRAINT</> affect only one constraint (Kris Jurka) + Have <command>SET CONSTRAINT</> affect only one constraint + (Kris Jurka) </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. + 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> - Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE TABLE LIKE</> (Greg Stark) + Add <literal>INCLUDING CONSTRAINTS</> to <command>CREATE + TABLE LIKE</> (Greg Stark) </para> <para> - This allows the new table to receive matching constraints. + This allows the new table to receive matching constraints. </para> </listitem> <listitem> <para> - Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark) + Add <literal>ALTER TABLE ... [NO] INHERIT</> (Greg Stark) </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. + 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> - Remove rule permission for tables, for security reasons (Tom) + Remove rule permission for tables, for security reasons + (Tom) </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. + 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> </sect3> @@ -878,62 +958,67 @@ For new features, add links to the documentation sections. <listitem> <para> - Reduce progress messages displayed by initdb (Tom) + Reduce progress messages displayed by initdb (Tom) </para> </listitem> <listitem> <para> - Have initdb detect the operating system locale and set the default - <envar>DateStyle</> accordingly (Peter) + Have initdb detect the operating system locale and set the + default <envar>DateStyle</> accordingly (Peter) </para> <para> - This make it more likely that the installed <filename>postgresql.conf</> <envar>DateStyle</> - value will be correct. + This make it more likely that the installed + <filename>postgresql.conf</> <envar>DateStyle</> value will + be correct. </para> </listitem> <listitem> <para> - Have the <command>COPY</> command return a command tag that includes the number of - rows copied (Volkan Yazıcı) + Have the <command>COPY</> command return a command tag that + includes the number of rows copied (Volkan Yazıcı) </para> </listitem> <listitem> <para> - Allow <command>VACUUM</> to expire rows without being affected by other concurrent - <command>VACUUM</>s (Hannu Krossing, Alvaro, Tom) + Allow <command>VACUUM</> to expire rows without being + affected by other concurrent <command>VACUUM</>s (Hannu + Krossing, Alvaro, Tom) </para> </listitem> <listitem> <para> - Avoid extra scan of tables during <command>VACUUM</> of index-less table (Greg Stark) + Avoid extra scan of tables during <command>VACUUM</> of + index-less table (Greg Stark) </para> </listitem> <listitem> <para> - Add option to allow indexes to be created without blocking - concurrent writes to the table (Greg Stark) + 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. + 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> - Allow <command>COPY</> to dump a <command>SELECT</> query (Zoltan Boszormenyi, Karel Zak) + 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</>. + This allows <command>COPY</> to dump arbitrary <acronym>SQL</> + queries. The syntax is <literal>COPY (SELECT ...) TO</>. </para> </sect3> @@ -943,205 +1028,234 @@ For new features, add links to the documentation sections. <listitem> <para> - Allow arrays to contain <literal>NULL</> elements (Tom) + Allow arrays to contain <literal>NULL</> elements (Tom) </para> </listitem> <listitem> <para> - Change array concatenation to match documented behavior (Tom) + Change array concatenation to match documented behavior + (Tom) </para> <para> - This changes the previous behavior where concatenation would - adjust the lower array dimensions. + This changes the previous behavior where concatenation + would adjust the lower array dimensions. </para> </listitem> <listitem> <para> - Array comparison improvements (Tom) + Array comparison improvements (Tom) </para> <para> - Now array dimensions are also compared. + Now array dimensions are also compared. </para> </listitem> <listitem> <para> - Allow <function>to_char(time)</> and <function>to_char(interval)</> to output <acronym>AM</>/<acronym>PM</> specifications - (Bruce) + 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</>. + Intervals and times are treated as 24-hour periods, e.g. + <literal>25 hours</> is <acronym>AM</>. </para> </listitem> <listitem> <para> - Have <function>to_char(time)</> and <function>to_char(interval)</> treat <literal>'HH'</> and <literal>'HH12'</> as 12-hour - intervals. + Have <function>to_char(time)</> and <function>to_char(interval)</> + treat <literal>'HH'</> and <literal>'HH12'</> as 12-hour + intervals. <para> - Most applications should use <literal>'HH24'</> unless they want a 12-hour display. + Most applications should use <literal>'HH24'</> unless they + want a 12-hour display. </para> </listitem> <listitem> <para> - Add a server-side sleep function <function>pg_sleep()</> (Joachim Wieland) + Add a server-side sleep function <function>pg_sleep()</> + (Joachim Wieland) </para> </listitem> <listitem> <para> - Zero unmasked bits in conversion from <type>INET</> to <type>CIDR</> (Tom) + Zero unmasked bits in conversion from <type>INET</> to + <type>CIDR</> (Tom) </para> </listitem> <listitem> <para> - Add convenient arithmetic operations on <type>INET</>/<type>CIDR</> values (Stephen R. van - den Berg) + 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</>. + 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 <function>to_char()</> to print localized month and day names (Euler Taveira de - Oliveira) + Allow <function>to_char()</> to print localized month and + day names (Euler Taveira de Oliveira) </para> </listitem> <listitem> <para> - Add all comparison operators for the <type>tid</> data type (Mark Kirkwood, Greg Stark, - Tom) + Add all comparison operators for the <type>tid</> data type + (Mark Kirkwood, Greg Stark, Tom) </para> </listitem> <listitem> <para> - Add new function <function>justify_interval()</> to adjust interval units (Mark Dilger) + Add new function <function>justify_interval()</> to adjust + interval units (Mark Dilger) </para> </listitem> <listitem> <para> - Add new aggregate functions from SQL2003 (Neil) + Add new aggregate functions from SQL2003 (Neil) </para> <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. + 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> - New operators for array-subset comparisons (<literal>@></>, <literal><@</>, <literal>&&</>) (Teodor, -Tom) + New operators for array-subset comparisons (<literal>@></>, + <literal><@</>, <literal>&&</>) (Teodor, Tom) </para> <para> - The old operators were kept for backward compatibility. + The old operators were kept for backward compatibility. </para> </listitem> <listitem> <para> - Allow domains to be created using other domains (Tom) + 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 <function>clock_timestamp()</>, + <function>statement_timestamp()</>, and + <function>transaction_timestamp()</> (Bruce) </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()</>. + <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> - Allow full timezone names in <type>timestamp</> values (Joachim Wieland) + Allow full timezone names in <type>timestamp</> values + (Joachim Wieland) </para> <para> - For example, <literal>'2006-05-24 21:11 America/New_York'::timestamptz</>. + For example, <literal>'2006-05-24 21:11 + America/New_York'::timestamptz</>. </para> </listitem> <listitem> <para> - Create a configuration file of timezone abbreviations (Joachim Wieland) + Create a configuration file of timezone abbreviations + (Joachim Wieland) </para> <para> - The file name is controlled by GUC variable <envar>timezone_abbreviations</>. + The file name is controlled by GUC variable + <envar>timezone_abbreviations</>. </para> </listitem> <listitem> <para> - Remove <envar>australian_timezones</> configuration variable (Joachim Wieland) + Remove <envar>australian_timezones</> configuration variable + (Joachim Wieland) </para> <para> - No longer needed now that timezone abbreviations are configurable. + No longer needed now that timezone abbreviations are + configurable. </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> </sect3> @@ -1151,33 +1265,35 @@ Tom) <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> </sect3> @@ -1187,34 +1303,35 @@ Tom) <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> </sect3> @@ -1224,37 +1341,41 @@ Tom) <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> </sect3> @@ -1264,92 +1385,97 @@ Tom) <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> </sect3> @@ -1359,31 +1485,36 @@ Tom) <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> </sect3> @@ -1393,61 +1524,67 @@ Tom) <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) + Change <function>PQdsplen()</> to return a useful value + (Martijn van Oosterhout) </para> </listitem> <listitem> <para> - Change <function>PQgetssl()</> to return a <literal>void*</>, rather than <literal>SSL*</> (Martijn van Oosterhout) + Change <function>PQgetssl()</> to return a <literal>void*</>, + rather than <literal>SSL*</> (Martijn van Oosterhout) </para> <para> - This allows applications to use the function without <acronym>SSL</> headers. + This allows applications to use the function without + <acronym>SSL</> headers. </para> </listitem> <listitem> <para> - Allow the <filename>.pgpass</> hostname to match the default socket directory, as - well as a blank <literal>pghost</> (Bruce) + 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) + Add function <function>PQisthreadsafe()</> (Bruce) </para> <para> - This allows applications to query the thread-safety status - of the library. + This allows applications to query the thread-safety status + of the library. </para> </listitem> <listitem> <para> - Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</> (Albe Laurenz) + Allow <acronym>LDAP</> lookups from <filename>pg_service.conf</> + (Albe Laurenz) </para> </listitem> <listitem> <para> - Add <function>PQdescribePrepared()</>, <function>PQdescribePortal()</>, and related functions - return information about previously prepared statements and - open cursors (Volkan Yazıcı) + Add <function>PQdescribePrepared()</>, + <function>PQdescribePortal()</>, and related functions + return information about previously prepared statements + and open cursors (Volkan Yazıcı) </para> </sect3> @@ -1457,25 +1594,26 @@ Tom) <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> </sect3> @@ -1485,48 +1623,51 @@ Tom) <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> </sect3> @@ -1536,194 +1677,214 @@ Tom) <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) + 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) + Improve multicolumn <acronym>GIST</> indexing (Oleg, Teodor) </para> </listitem> <listitem> <para> - <acronym>GIST</> indexes now are clusterable (Teodor) + <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) + Add a configure flag to allow libedit to be preferred over + <acronym>GNU</> readline (Bruce) </para> <para> - Use configure <literal>--with-libedit-preferred</>. + Use configure <literal>--with-libedit-preferred</>. </para> </listitem> <listitem> <para> - Allow installation into directories containing spaces (Peter) + Allow installation into directories containing spaces + (Peter) </para> </listitem> <listitem> <para> - Improve ability to relocate installs in more complex configurations (Tom) + Improve ability to relocate installs in more complex + configurations (Tom) </para> </listitem> <listitem> <para> - Add support for <productname>Solaris x86_64</> using the <productname>Solaris</> compiler (Pierre Girard, - Theo Schlossnagle, Bruce) + Add support for <productname>Solaris x86_64</> using the + <productname>Solaris</> compiler (Pierre Girard, Theo + Schlossnagle, Bruce) </para> </listitem> <listitem> <para> - Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce) + Remove <acronym>QNX</> and <acronym>BEOS</> ports (Bruce) </para> <para> - These ports no longer had active maintainers. + These ports no longer had active maintainers. </para> </listitem> <listitem> <para> - Make command-line options of postmaster and postgres identical (Peter) + 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</>. + This allows the postmaster to pass arguments to each backend + without using <literal>-o</>. </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> </sect3> @@ -1733,39 +1894,40 @@ Tom) <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> @@ -1775,127 +1937,138 @@ Tom) <listitem> <para> - Add pg_freespacemap to display free space map information (Mark - Kirkwood) + Add pg_freespacemap to display free space map information + (Mark Kirkwood) </para> </listitem> <listitem> <para> - New uninstall scripts (David) + New uninstall scripts (David) </para> </listitem> <listitem> <para> - Add pgrowlocks (Tatsuo) + Add pgrowlocks (Tatsuo) </para> <para> - This shows row locking information for a specified table. + This shows row locking information for a specified table. </para> </listitem> <listitem> <para> - Add <application>Pgadmin</> administration functions to adminpack (Dave) + Add <application>Pgadmin</> administration functions to + adminpack (Dave) </para> <para> - These functions provide additional file system access routines not present - in the default <productname>PostgreSQL</> server. + These functions provide additional file system access + routines not present in the default <productname>PostgreSQL</> + server. </para> </listitem> <listitem> <para> - Add index information to pgstattuple (ITAGAKI Takahiro, Satoshi Nagayasu) + Add index information to pgstattuple (ITAGAKI Takahiro, + Satoshi Nagayasu) </para> </listitem> <listitem> <para> - pgcrypto now has all planned functionality (Marko Kreen) + pgcrypto now has all planned functionality (Marko Kreen) </para> </listitem> <listitem> <para> - Update cube (Joshua Reich) + Update cube (Joshua Reich) </para> <para> - New functions are <function>cube(float[])</>, <function>cube(float[], float[])</>, and - <function>cube_subset(cube, int4[])</>. + New functions are <function>cube(float[])</>, + <function>cube(float[], float[])</>, and + <function>cube_subset(cube, int4[])</>. </para> </listitem> <listitem> <para> - Added async query capability to dblink (Kai Londenberg, Joe Conway) + Added async query capability to dblink (Kai Londenberg, + Joe Conway) </para> </listitem> <listitem> <para> - Add sslinfo (Victor Wagner) + Add sslinfo (Victor Wagner) </para> <para> - Reports information about the current <acronym>SSL</> certificate. + Reports information about the current <acronym>SSL</> + certificate. </para> </listitem> <listitem> <para> - Remove ora2pg, now at <ulink url="http://www.samse.fr/GPL/ora2pg"></ulink> + Remove ora2pg, now at <ulink + url="http://www.samse.fr/GPL/ora2pg"></ulink> </para> </listitem> <listitem> <para> - Remove contrib modules that have been migrated to pgfoundry: adddepend, - dbase, dbmirror, fulltextindex, mac, userlock + Remove contrib modules that have been migrated to pgfoundry: + adddepend, dbase, dbmirror, fulltextindex, mac, userlock </para> </listitem> <listitem> <para> - Remove abandoned modules: mSQL-interface, ips + Remove abandoned modules: mSQL-interface, ips </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) + 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) + 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. + <function>xml_valid()</> will remain for backward compability, + but its behavior will change to do schema checks in future + releases. </para> </listitem> |