9.0 release note update
От | Bruce Momjian |
---|---|
Тема | 9.0 release note update |
Дата | |
Msg-id | 201006102149.o5ALnDO11909@momjian.us обсуждение исходный текст |
Список | pgsql-docs |
I have just applied the attached patch from Josh Berkus to update the 9.0 release notes. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + None of us is going to be here forever. + 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 **** <simpara>2010-??-??</simpara> </note> - <!-- beta2 notes - recovery_connections -> hot_standby - --> - <sect2> <title>Overview</title> --- 8,13 ---- *************** *** 32,154 **** <!-- This list duplicates items below, but without authors or details--> <listitem> - <para> - Allow continuous archive standby systems to accept read-only queries - </para> - </listitem> - - <listitem> - <para> - Allow continuous archive (<acronym>WAL</>) files to be streamed to a - standby system - </para> - </listitem> - - <listitem> - <para> - Add the ability to make mass permission changes per - schema using the new <link - linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE - IN SCHEMA</></link> clause - </para> - </listitem> - - <listitem> - <para> - Add the ability to control large object permissions with - <command>GRANT</>/<command>REVOKE</> - </para> - </listitem> - - <listitem> - <para> - Implement anonymous functions using the <link - linkend="SQL-DO"><command>DO</></link> statement - </para> - </listitem> - - <listitem> - <para> - Allow function calls to supply parameter names and match them to named - parameters in the function definition (Pavel Stehule) - </para> - </listitem> - - <listitem> - <para> - Install server-side language PL/pgSQL by default - </para> - </listitem> - - <listitem> - <para> - Major PL/Perl enhancements - </para> - </listitem> - <listitem> - <para> - Allow SQL-compliant <link - linkend="SQL-CREATETRIGGER">per-column triggers</link> - </para> - </listitem> - - <listitem> <para> ! Add <link linkend="SQL-CREATETABLE-compatibility">deferrable ! unique constraints</link> </para> </listitem> <listitem> <para> ! Have <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link ! linkend="SQL-NOTIFY"><command>NOTIFY</></link> store events ! in a memory queue, rather than a system table </para> </listitem> <listitem> <para> ! Allow <link linkend="SQL-NOTIFY"><command>NOTIFY</></link> ! to pass an optional string to listeners </para> </listitem> <listitem> <para> ! Change <command>VACUUM FULL</> to rewrite the entire table and ! indexes, rather than moving around single rows to compact space </para> </listitem> <listitem> <para> ! Add prefix support for the full text search synonym dictionary </para> </listitem> <listitem> <para> ! Use red-black trees for <acronym>GIN</> index creation </para> </listitem> <listitem> <para> ! Add <link ! linkend="functions-binarystring-other"><function>get_bit()</></link> ! and <function>set_bit()</> functions for <type>bit</> ! strings, mirroring those for <type>bytea</> </para> </listitem> <listitem> <para> ! Add the ability for clients to set an <link ! linkend="libpq-connect-application-name">application ! name</link>, which is displayed in ! <structname>pg_stat_activity</> </para> </listitem> --- 28,105 ---- <!-- This list duplicates items below, but without authors or details--> <listitem> <para> ! 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 (<acronym>WAL</>) files ! to be streamed over a network port to a standby database server. </para> </listitem> <listitem> <para> ! Easier database object permissions management. <link ! linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE ! IN SCHEMA</></link> supports mass permissions changes, and ! the <link linkend="SQL-ALTERDEFAULTPRIVILEGES"><command>ALTER ! DEFAULT PRIVILEGES</></link> command controls privileges ! of all newly-created objects. Large object permissions now ! support <command>GRANT</>/<command>REVOKE</> as well. </para> </listitem> <listitem> <para> ! Broadly enhanced stored procedure support. ! The <link linkend="SQL-DO"><command>DO</></link> 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. </para> </listitem> <listitem> <para> ! Triggers now support two new features, ! SQL-compliant <link ! linkend="SQL-CREATETRIGGER">per-column triggers</link>, and ! conditional trigger execution. </para> </listitem> <listitem> <para> ! <link linkend="SQL-CREATETABLE-compatibility">Deferrable ! unique constraints, now permit mass updates to unique keys.</link> </para> </listitem> <listitem> <para> ! Exclusion constraints let database designers define uniqueness ! based on complex criteria, including for non-scalar data such ! as time periods, ranges and arrays. </para> </listitem> <listitem> <para> ! The <link linkend="SQL-LISTEN"><command>LISTEN</></link>/<link ! linkend="SQL-NOTIFY"><command>NOTIFY</></link> ! 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. </para> </listitem> <listitem> <para> ! As part of our decade-long effort to eliminate the pain of VACUUM, ! <command>VACUUM FULL</> is not substantially faster by ! rewriting the entire table and ! indexes, rather than moving around single rows to compact space. </para> </listitem> *************** *** 164,170 **** <listitem> <para> Add <link linkend="pgupgrade"><filename>/contrib/pg_upgrade</></link> ! to support in-place upgrades </para> </listitem> --- 115,121 ---- <listitem> <para> Add <link linkend="pgupgrade"><filename>/contrib/pg_upgrade</></link> ! to support in-place upgrades from 8.3 or 8.4 to 9.0. </para> </listitem> *************** *** 208,214 **** Remove server variable <varname>regex_flavor</>, which was defaulted to <link linkend="posix-syntax-details"><literal>advanced</></link> ! (e.g. Perl-regex compatible) for many years (Tom Lane) </para> </listitem> --- 159,165 ---- Remove server variable <varname>regex_flavor</>, which was defaulted to <link linkend="posix-syntax-details"><literal>advanced</></link> ! (e.g. Perl-regex compatible) for many years. (Tom Lane) </para> </listitem> *************** *** 307,315 **** </para> <para> ! Administrators still can rename such columns manually. Expression ! index names are also not renamed. WHY ARE EXPRESSION INDEXES ! SIGNIFICANT? </para> </listitem> --- 258,280 ---- </para> <para> ! 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. ! </para> ! </listitem> ! ! <listitem> ! <para> ! No longer change function input variable names via ! <command>REPLACE FUNCTION</command>(Pavel Stehule). ! </para> ! ! <para> ! 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 <command>DROP ! </command> and recreate the function. </para> </listitem> *************** *** 333,339 **** linkend="plpgsql-var-subst"><varname>plpgsql.variable_conflict</></link>, or by the per-function option <literal>#variable_conflict</>. The former behavior was to bind to variable names over ! column names. </para> </listitem> --- 298,305 ---- linkend="plpgsql-var-subst"><varname>plpgsql.variable_conflict</></link>, or by the per-function option <literal>#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. </para> </listitem> *************** *** 357,363 **** </para> <para> ! Variables can be double-quoted to avoid this restriction. </para> </listitem> </itemizedlist> --- 323,329 ---- </para> <para> ! Variables can be double-quoted to avoid this restriction. </para> </listitem> </itemizedlist> *************** *** 372,380 **** <title>Server</title> <sect4> ! <title>Continuous Archiving</title> ! <itemizedlist> <listitem> <para> Allow continuous archive standby systems to accept read-only queries --- 338,354 ---- <title>Server</title> <sect4> ! <title>Continuous Archiving and Binary Replication</title> ! ! <para> ! 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. ! </para> + <itemizedlist> <listitem> <para> Allow continuous archive standby systems to accept read-only queries *************** *** 396,401 **** --- 370,376 ---- </para> <para> + This feature is called Streaming Replication. Previously <acronym>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 <filename>postgresql.conf</> *************** *** 421,426 **** --- 396,407 ---- <sect4> <title>Performance</title> + + <para> + Version 9.0 also contains several performance and optimizer enhancements to + improve specific uses of PostgreSQL and remedy certain poor-performing cases. + </para> + <itemizedlist> <listitem> *************** *** 454,480 **** <title>Optimizer</title> <itemizedlist> <listitem> <para> ! Allow <literal>IS NOT NULL</> restrictions to use indexes (Tom Lane) </para> <para> ! This is particularly useful for finding ! <function>MAX()</>/<function>MIN()</> values in indexes that also ! contain NULLs. </para> </listitem> <listitem> <para> ! Remove unnecessary <link linkend="queries-join">outer ! joins</link> (Robert Haas) </para> <para> ! Outer joins where the inner side is unique and not referenced in ! the query are unnecessary and are therefore now removed. </para> </listitem> --- 435,464 ---- <title>Optimizer</title> <itemizedlist> + <listitem> <para> ! Remove unnecessary <link linkend="queries-join">outer ! joins</link> (Robert Haas) </para> <para> ! 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. </para> </listitem> <listitem> <para> ! Allow <literal>IS NOT NULL</> restrictions to use indexes (Tom Lane) </para> <para> ! This is particularly useful for finding ! <function>MAX()</>/<function>MIN()</> values in indexes that also ! contain NULLs. </para> </listitem> *************** *** 567,573 **** <para> 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 <command>ANALYZE</>. </para> </listitem> --- 551,559 ---- <para> 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 <command>ANALYZE</>. Database administrators ! can use this feature to fix some poor statistics, especially on ! tables with millions or billions of rows. </para> </listitem> *************** *** 900,907 **** </para> <para> ! It currently supports tables, views, sequences, and functions, and ! also has per-schema control. </para> </listitem> --- 886,895 ---- </para> <para> ! 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. </para> </listitem> *************** *** 995,1002 **** TABLE CONSTRAINT ... EXCLUDE</></link> 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. </para> </listitem> <listitem> --- 983,999 ---- TABLE CONSTRAINT ... EXCLUDE</></link> 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. ! </para> ! ! <para> ! 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. </para> + </listitem> <listitem> *************** *** 1026,1031 **** --- 1023,1035 ---- linkend="SQL-GRANT"><command>GRANT</>/<command>REVOKE IN SCHEMA</></link> clause (Petr Jelinek) </para> + + <para> + This simplifies the assignment of object permissions + and makes it easier to utilize database roles for application + data security. + </para> + </listitem> <listitem> *************** *** 1055,1061 **** </para> <para> ! This greatly improves performance for these operations. </para> </listitem> --- 1059,1067 ---- </para> <para> ! LISTEN/NOTIFY may now be used as a full-featured, high-performance ! event queue system for PostgreSQL, with transactional support ! and guaranteed delivery. </para> </listitem> *************** *** 1116,1126 **** --- 1122,1145 ---- <listitem> <para> + Allow <command>EXPLAIN</> output in <acronym>XML</>, <acronym>JSON</>, + and <acronym>YAML</> formats (Robert Haas, Greg Sabino Mullane) + </para> + + <para> + The new output formats will support the development of new tools + for analysis of EXPLAIN output. + </para> + </listitem> + + <listitem> + <para> Add new <command>EXPLAIN (BUFFERS)</> to report query buffer activity (Itagaki Takahiro) </para> <para> + This allows better query profiling for individual queries. log_*_stats log output, e.g. <link linkend="runtime-config-statistics-monitor">log_statement_stats</link>, no longer shows this information. *************** *** 1136,1148 **** <listitem> <para> - Allow <command>EXPLAIN</> output in <acronym>XML</>, <acronym>JSON</>, - and <acronym>YAML</> formats (Robert Haas, Greg Sabino Mullane) - </para> - </listitem> - - <listitem> - <para> Allow <command>EXPLAIN</> options to be specified inside parentheses (Robert Haas) </para> --- 1155,1160 ---- *************** *** 1169,1176 **** </para> <para> ! The previous method was usually slower and caused index bloat. </para> </listitem> <listitem> --- 1181,1191 ---- </para> <para> ! The previous method was usually slower and caused index bloat. ! Note that the new method may use more disk space during VACUUM ! FULL. </para> + </listitem> <listitem> *************** *** 1228,1236 **** </para> <para> ! Red-black trees are self-balanced so allow for faster index ! creation. </para> </listitem> </itemizedlist> --- 1243,1252 ---- </para> <para> ! Red-black trees are self-balanced. This means much faster ! GIN index creation. </para> + </listitem> </itemizedlist>
В списке pgsql-docs по дате отправления: