Received: from maia.hub.org (maia-3.hub.org [200.46.204.243]) by mail.postgresql.org (Postfix) with ESMTP id 25061658DF8 for ; Thu, 10 Jun 2010 18:49:22 -0300 (ADT) Received: from mail.postgresql.org ([200.46.204.86]) by maia.hub.org (mx1.hub.org [200.46.204.243]) (amavisd-maia, port 10024) with ESMTP id 06340-02 for ; Thu, 10 Jun 2010 21:49:11 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from momjian.us (momjian.us [70.90.9.53]) by mail.postgresql.org (Postfix) with ESMTP id 704B06440D7 for ; Thu, 10 Jun 2010 18:49:12 -0300 (ADT) Received: (from bruce@localhost) by momjian.us (8.11.6/8.11.6) id o5ALnDO11909 for pgsql-docs@postgresql.org; Thu, 10 Jun 2010 17:49:13 -0400 (EDT) From: Bruce Momjian Message-Id: <201006102149.o5ALnDO11909@momjian.us> Subject: 9.0 release note update To: PostgreSQL-documentation Date: Thu, 10 Jun 2010 17:49:13 -0400 (EDT) X-Mailer: ELM [version 2.4ME+ PL124 (25)] MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="ELM1276206553-15461-0_" Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.79 tagged_above=-5 required=5 tests=BAYES_50=0.8, T_RP_MATCHES_RCVD=-0.01 X-Spam-Level: X-Archive-Number: 201006/14 X-Sequence-Number: 5582 --ELM1276206553-15461-0_ Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="US-ASCII" I have just applied the attached patch from Josh Berkus to update the 9.0 release notes. -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + None of us is going to be here forever. + --ELM1276206553-15461-0_ Content-Transfer-Encoding: 7bit Content-Type: text/x-diff Content-Disposition: inline; filename="/rtmp/diff" Index: doc/src/sgml/release-9.0.sgml =================================================================== RCS file: /cvsroot/pgsql/doc/src/sgml/release-9.0.sgml,v retrieving revision 2.28 diff -c -c -r2.28 release-9.0.sgml *** doc/src/sgml/release-9.0.sgml 7 Jun 2010 02:01:08 -0000 2.28 --- doc/src/sgml/release-9.0.sgml 10 Jun 2010 21:42:05 -0000 *************** *** 8,17 **** 2010-??-?? - - Overview --- 8,13 ---- *************** *** 32,154 **** - - Allow continuous archive standby systems to accept read-only queries - - - - - - Allow continuous archive (WAL) files to be streamed to a - standby system - - - - - - Add the ability to make mass permission changes per - schema using the new GRANT/REVOKE - IN SCHEMA clause - - - - - - Add the ability to control large object permissions with - GRANT/REVOKE - - - - - - Implement anonymous functions using the DO statement - - - - - - Allow function calls to supply parameter names and match them to named - parameters in the function definition (Pavel Stehule) - - - - - - Install server-side language PL/pgSQL by default - - - - - - Major PL/Perl enhancements - - - - - Allow SQL-compliant per-column triggers - - - - ! Add deferrable ! unique constraints ! Have LISTEN/NOTIFY store events ! in a memory queue, rather than a system table ! Allow NOTIFY ! to pass an optional string to listeners ! Change VACUUM FULL to rewrite the entire table and ! indexes, rather than moving around single rows to compact space ! Add prefix support for the full text search synonym dictionary ! Use red-black trees for GIN index creation ! Add get_bit() ! and set_bit() functions for bit ! strings, mirroring those for bytea ! Add the ability for clients to set an application ! name, which is displayed in ! pg_stat_activity --- 28,105 ---- ! Built-in, binary, log-based replication. This advance consists of two features: ! Hot Standby allows continuous archive standby database servers to accept read-only ! queries, and Streaming Replication allows continuous archive (WAL) files ! to be streamed over a network port to a standby database server. ! Easier database object permissions management. GRANT/REVOKE ! IN SCHEMA supports mass permissions changes, and ! the ALTER ! DEFAULT PRIVILEGES command controls privileges ! of all newly-created objects. Large object permissions now ! support GRANT/REVOKE as well. ! Broadly enhanced stored procedure support. ! The DO statement permits ! ad-hoc or anonymous code blocks. Functions can now be called using named ! parameters. PL/pgSQL is now installed by default, and PL/Perl and PL/Python ! have been enhanced in several ways. ! Triggers now support two new features, ! SQL-compliant per-column triggers, and ! conditional trigger execution. ! Deferrable ! unique constraints, now permit mass updates to unique keys. ! Exclusion constraints let database designers define uniqueness ! based on complex criteria, including for non-scalar data such ! as time periods, ranges and arrays. ! The LISTEN/NOTIFY ! feature has been overhauled to make it into ! a high-performance event queuing system. It now stores ! events in a memory-based queue, and it now allows delivery ! of a string payload to listeners with each event. ! As part of our decade-long effort to eliminate the pain of VACUUM, ! VACUUM FULL is not substantially faster by ! rewriting the entire table and ! indexes, rather than moving around single rows to compact space. *************** *** 164,170 **** Add /contrib/pg_upgrade ! to support in-place upgrades --- 115,121 ---- Add /contrib/pg_upgrade ! to support in-place upgrades from 8.3 or 8.4 to 9.0. *************** *** 208,214 **** Remove server variable regex_flavor, which was defaulted to advanced ! (e.g. Perl-regex compatible) for many years (Tom Lane) --- 159,165 ---- Remove server variable regex_flavor, which was defaulted to advanced ! (e.g. Perl-regex compatible) for many years. (Tom Lane) *************** *** 307,315 **** ! Administrators still can rename such columns manually. Expression ! index names are also not renamed. WHY ARE EXPRESSION INDEXES ! SIGNIFICANT? --- 258,280 ---- ! Administrators still can rename such columns manually. This change ! will require an update of the JDBC driver and possibly other drivers ! so that unique indexes are correctly recognized. ! ! ! ! ! ! No longer change function input variable names via ! REPLACE FUNCTION(Pavel Stehule). ! ! ! ! In order to support names parameter calls, it is ! no longer possible to change the aliases for input variables ! in the function declaration in place. You now have to DROP ! and recreate the function. *************** *** 333,339 **** linkend="plpgsql-var-subst">plpgsql.variable_conflict, or by the per-function option #variable_conflict. The former behavior was to bind to variable names over ! column names. --- 298,305 ---- linkend="plpgsql-var-subst">plpgsql.variable_conflict, or by the per-function option #variable_conflict. The former behavior was to bind to variable names over ! column names, but not consistently. Stored procedures ! with naming conflicts will probably need to be refactored. *************** *** 357,363 **** ! Variables can be double-quoted to avoid this restriction. --- 323,329 ---- ! Variables can be double-quoted to avoid this restriction. *************** *** 372,380 **** Server ! Continuous Archiving ! Allow continuous archive standby systems to accept read-only queries --- 338,354 ---- Server ! Continuous Archiving and Binary Replication ! ! ! PostgreSQL's native standby capability has been expanded both to ! support read-only queries on standby slaves and to greatly reduce ! the lag between master and standby servers. For many users, this ! will be a useful and low-administration form of replication, either ! for high availability or for horizontal scalability. ! + Allow continuous archive standby systems to accept read-only queries *************** *** 396,401 **** --- 370,376 ---- + This feature is called Streaming Replication. Previously WAL files could be sent to standby systems only as 16 megabytes files; this allows master changes to be sent to the standby with very little delay. There are new postgresql.conf *************** *** 421,426 **** --- 396,407 ---- Performance + + + Version 9.0 also contains several performance and optimizer enhancements to + improve specific uses of PostgreSQL and remedy certain poor-performing cases. + + *************** *** 454,480 **** Optimizer ! Allow IS NOT NULL restrictions to use indexes (Tom Lane) ! This is particularly useful for finding ! MAX()/MIN() values in indexes that also ! contain NULLs. ! Remove unnecessary outer ! joins (Robert Haas) ! Outer joins where the inner side is unique and not referenced in ! the query are unnecessary and are therefore now removed. --- 435,464 ---- Optimizer + ! Remove unnecessary outer ! joins (Robert Haas) ! Outer joins where the inner side is unique and not referenced in ! the query are unnecessary and are therefore now removed. This will ! accelerate many automatically generated queries, such as those created ! by object-relational mappers. ! Allow IS NOT NULL restrictions to use indexes (Tom Lane) ! This is particularly useful for finding ! MAX()/MIN() values in indexes that also ! contain NULLs. *************** *** 567,573 **** This allows user-override of the number or percentage of distinct values for a column and optionally its child tables. This value ! is normally computed by ANALYZE. --- 551,559 ---- This allows user-override of the number or percentage of distinct values for a column and optionally its child tables. This value ! is normally computed by ANALYZE. Database administrators ! can use this feature to fix some poor statistics, especially on ! tables with millions or billions of rows. *************** *** 900,907 **** ! It currently supports tables, views, sequences, and functions, and ! also has per-schema control. --- 886,895 ---- ! This greatly simplifies the assignment of object priveleges in ! a complex database application. Defaults currently support tables ! views, sequences, and functions. Defaults may be assigned on a ! per-schema basis or database-wide. *************** *** 995,1002 **** TABLE CONSTRAINT ... EXCLUDE clause. While uniqueness checks could be specified using this syntax, the real value of this feature is in using complex ! operators that do not have built-in constraints. --- 983,999 ---- TABLE CONSTRAINT ... EXCLUDE clause. While uniqueness checks could be specified using this syntax, the real value of this feature is in using complex ! operators that do not have built-in constraints. ! ! ! ! The primary use of exclusion constraints is to allow defining ! non-overlapping uniqueness, such as for time periods, arrays ! or ranges of values. This supports data integrity at the ! table level for calendaring, time-management, and scientific ! applications. + *************** *** 1026,1031 **** --- 1023,1035 ---- linkend="SQL-GRANT">GRANT/REVOKE IN SCHEMA clause (Petr Jelinek) + + + This simplifies the assignment of object permissions + and makes it easier to utilize database roles for application + data security. + + *************** *** 1055,1061 **** ! This greatly improves performance for these operations. --- 1059,1067 ---- ! LISTEN/NOTIFY may now be used as a full-featured, high-performance ! event queue system for PostgreSQL, with transactional support ! and guaranteed delivery. *************** *** 1116,1126 **** --- 1122,1145 ---- + Allow EXPLAIN output in XML, JSON, + and YAML formats (Robert Haas, Greg Sabino Mullane) + + + + The new output formats will support the development of new tools + for analysis of EXPLAIN output. + + + + + Add new EXPLAIN (BUFFERS) to report query buffer activity (Itagaki Takahiro) + This allows better query profiling for individual queries. log_*_stats log output, e.g. log_statement_stats, no longer shows this information. *************** *** 1136,1148 **** - Allow EXPLAIN output in XML, JSON, - and YAML formats (Robert Haas, Greg Sabino Mullane) - - - - - Allow EXPLAIN options to be specified inside parentheses (Robert Haas) --- 1155,1160 ---- *************** *** 1169,1176 **** ! The previous method was usually slower and caused index bloat. --- 1181,1191 ---- ! The previous method was usually slower and caused index bloat. ! Note that the new method may use more disk space during VACUUM ! FULL. + *************** *** 1228,1236 **** ! Red-black trees are self-balanced so allow for faster index ! creation. --- 1243,1252 ---- ! Red-black trees are self-balanced. This means much faster ! GIN index creation. + --ELM1276206553-15461-0_--