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 по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: typo in release note
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Special column trivia