Doc: updates for v12 release notes.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 21 Sep 2019 19:23:53 +0000 (15:23 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 21 Sep 2019 19:23:53 +0000 (15:23 -0400)
Remove mention of ECPG's DECLARE STATEMENT, since that was reverted
yesterday.  Rewrite some other entries per suggestions from Peter
Eisentraut.  Make a couple of desultory wording and markup adjustments.

Discussion: https://postgr.es/m/d4dff575-90ab-9c8c-cc6f-8c657e2de665@2ndquadrant.com

doc/src/sgml/release-12.sgml

index 38c45967fcfd3b9b217945b71edfccc005a0197f..0ef385958dd7fdbc5baf5905929287f30dc114a1 100644 (file)
@@ -6,7 +6,7 @@
 
   <formalpara>
    <title>Release date:</title>
-   <para>2019-??-??, CURRENT AS OF 2019-09-06</para>
+   <para>2019-??-??, CURRENT AS OF 2019-09-21</para>
   </formalpara>
 
   <sect2>
       <itemizedlist>
        <listitem>
         <para>
-         Client- and server-side encryption for authentication using
+         Encryption of TCP/IP connections when using
          <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link>
+         authentication
         </para>
        </listitem>
 
@@ -261,8 +262,8 @@ Author: Peter Eisentraut <peter_e@gmx.net>
       and the server will not start if that file exists.  <link
       linkend="runtime-config-wal-archive-recovery">recovery.signal</link>
       and <filename>standby.signal</filename> files are now used to switch
-      into non-primary mode.  <varname>trigger_file</varname> has been
-      renamed to <xref linkend="guc-promote-trigger-file"/>.  The
+      into non-primary mode.  The <varname>trigger_file</varname> setting
+      has been renamed to <xref linkend="guc-promote-trigger-file"/>.  The
       <varname>standby_mode</varname> setting has been removed.
      </para>
     </listitem>
@@ -502,31 +503,6 @@ Author: Peter Geoghegan <pg@bowt.ie>
     <listitem>
 <!--
 Author: Tom Lane <tgl@sss.pgh.pa.us>
-2018-12-19 [586b98fdf] Make type "name" collation-aware.
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2019-04-05 [478cacb50] Ensure consistent name matching behavior in processSQLNa
--->
-
-     <para>
-      Allow data type <link
-      linkend="datatype-character-special-table">name</link> to use
-      non-C collations (Tom Lane, Daniel Vérité)
-     </para>
-
-     <para>
-      Type <type>name</type> still uses the <quote>C</quote> collation by
-      default, rather than defaulting to the database collation.
-      Regular-expression operators on <type>name</type> columns will now
-      use the <quote>C</quote> collation by default.  If you want non-C
-      behavior for locale-dependent regular expression patterns (such
-      as <literal>\w</literal>), attach an
-      explicit <literal>COLLATE</literal> clause.
-     </para>
-    </listitem>
-
-    <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
 2019-03-21 [bfb456c1b] Improve error reporting for DROP FUNCTION/PROCEDURE/AGGR
 -->
 
@@ -591,6 +567,77 @@ Author: Peter Eisentraut <peter_e@gmx.net>
 
     <listitem>
 <!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2018-12-19 [586b98fdf] Make type "name" collation-aware.
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2019-04-05 [478cacb50] Ensure consistent name matching behavior in processSQLNa
+-->
+
+     <para>
+      Mark table columns of type <link
+      linkend="datatype-character-special-table">name</link> as having
+      <quote>C</quote> collation by default (Tom Lane, Daniel Vérité)
+     </para>
+
+     <para>
+      The comparison operators for data type <type>name</type> can now use
+      any collation, rather than always using <quote>C</quote> collation.
+      To preserve the previous semantics of queries, columns of
+      type <type>name</type> are now explicitly marked as
+      having <quote>C</quote> collation.  A side effect of this is that
+      regular-expression operators on <type>name</type> columns will now
+      use the <quote>C</quote> collation by default, not the database
+      collation, to determine the behavior of locale-dependent regular
+      expression patterns (such as <literal>\w</literal>).  If you want
+      non-C behavior for a regular expression on a <type>name</type>
+      column, attach an explicit <literal>COLLATE</literal> clause.  (For
+      user-defined <type>name</type> columns, another possibility is to
+      specify a different collation at table creation time; but that just
+      moves the non-backwards-compatibility to the comparison operators.)
+     </para>
+    </listitem>
+
+    <listitem>
+<!--
+Author: Tom Lane <tgl@sss.pgh.pa.us>
+2018-12-20 [7c15cef86] Base information_schema.sql_identifier domain on name, n
+2018-12-20 [5bbee34d9] Avoid producing over-length specific_name outputs in inf
+2018-12-18 [6b0faf723] Make collation-aware system catalog columns use "C" coll
+-->
+
+     <para>
+      Treat object-name columns in
+      the <link linkend="information-schema"><structname>information_schema</structname></link>
+      views as being of type <type>name</type> not <type>varchar</type>
+      (Tom Lane)
+     </para>
+
+     <para>
+      Per the SQL standard, object-name columns in
+      the <structname>information_schema</structname> views are declared
+      as being of domain type <type>sql_identifier</type>.
+      In <productname>PostgreSQL</productname>, the underlying catalog
+      columns are really of type <type>name</type>.  This change
+      makes <type>sql_identifier</type> be a domain
+      over <type>name</type>, rather than <type>varchar</type> as before.
+      This eliminates a semantic mismatch in comparison and sorting
+      behavior, which can greatly improve the performance of queries
+      on <structname>information_schema</structname> views that restrict
+      an object-name column.  Note however that inequality restrictions,
+      for example
+<programlisting>
+SELECT ... FROM information_schema.tables WHERE table_name &lt; 'foo';
+</programlisting>
+      will now use <quote>C</quote>-locale comparison semantics by
+      default, rather than the database's default collation as before.
+      Sorting on these columns will also follow <quote>C</quote> ordering
+      rules.  The previous behavior (and inefficiency) can be enforced by
+      adding a <literal>COLLATE "default"</literal> clause.
+     </para>
+    </listitem>
+
+    <listitem>
+<!--
 Author: Peter Eisentraut <peter_e@gmx.net>
 2018-07-10 [bcbd94080] Remove dynamic_shared_memory_type=none
 -->
@@ -1453,7 +1500,7 @@ Author: Magnus Hagander <magnus@hagander.net>
        </para>
 
        <para>
-        Global objects have a <link
+        Global objects are shown with a <link
         linkend="pg-stat-database-view"><structname>pg_stat_database</structname></link>.<structfield>datid</structfield>
         value of zero.
        </para>
@@ -1605,58 +1652,6 @@ Author: Michael Paquier <michael@paquier.xyz>
 
      </itemizedlist>
 
-     <sect5>
-      <title><link linkend="information-schema">Information Schema</link></title>
-
-      <itemizedlist>
-
-      <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2018-12-20 [7c15cef86] Base information_schema.sql_identifier domain on name, n
--->
-
-       <para>
-        Allow more use of indexes for text comparisons with
-        <structname>information_schema</structname> columns (Tom Lane)
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2018-12-18 [6b0faf723] Make collation-aware system catalog columns use "C" coll
--->
-
-       <para>
-        Use <quote>C</quote> collation for <type>name</type>-type columns in
-        <structname>information_schema</structname> views and the system
-        catalogs (Tom Lane)
-       </para>
-
-       <para>
-        This will produce more consistent behavior in databases with
-        different collations, but will also cause sorts on these columns
-        to produce results in <quote>C</quote> ordering, rather
-        than the database's default collation.
-       </para>
-      </listitem>
-
-      <listitem>
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2018-12-20 [5bbee34d9] Avoid producing over-length specific_name outputs in inf
--->
-
-       <para>
-        Ensure that <structname>information_schema</structname> outputs honor
-        the system-defined maximum identifier length (Tom Lane)
-       </para>
-      </listitem>
-
-      </itemizedlist>
-
-     </sect5>
     </sect4>
 
     <sect4>
@@ -1672,18 +1667,22 @@ Author: Stephen Frost <sfrost@snowman.net>
 
        <para>
         Add <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link>
-        client- and server-side encryption support (Robbie Harwood,
-        Stephen Frost)
+        encryption support (Robbie Harwood, Stephen Frost)
        </para>
 
        <para>
-        Add <literal>hostgssenc</literal>
+        This feature allows TCP/IP connections to be encrypted when using
+        GSSAPI authentication, without having to set up a separate
+        encryption facility such as SSL.
+        In support of this, add <literal>hostgssenc</literal>
         and <literal>hostnogssenc</literal> record types in <link
-        linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>.
-        Such entries would typically use the <literal>gss</literal>
-        authentication method.  This change also adds a libpq
-        <xref linkend="libpq-connect-gssencmode"/> option, and a
-        <xref linkend="pg-stat-gssapi-view"/> system view.
+        linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
+        for selecting connections that do or do not use GSSAPI encryption,
+        corresponding to the existing <literal>hostssl</literal>
+        and <literal>hostnossl</literal> record types.
+        There is also a new <xref linkend="libpq-connect-gssencmode"/>
+        libpq option, and a <xref linkend="pg-stat-gssapi-view"/> system
+        view.
        </para>
       </listitem>
 
@@ -2080,9 +2079,9 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org>
 -->
 
       <para>
-       Add a <literal>WHERE</literal> clause to <command>COPY
-       FROM</command> to control which rows are accepted (Surafel
-       Temesgen)
+       Add a <literal>WHERE</literal> clause
+       to <link linkend="sql-copy"><command>COPY FROM</command></link> to
+       control which rows are accepted (Surafel Temesgen)
       </para>
 
       <para>
@@ -2097,16 +2096,17 @@ Author: Thomas Munro <tmunro@postgresql.org>
 -->
 
       <para>
-       Allow enumerated values to be added in more transaction types
+       Allow enumerated values to be added more flexibly
        (Andrew Dunstan, Tom Lane, Thomas Munro)
       </para>
 
       <para>
-       Previously, <link linkend="sql-altertype"><command>ALTER
-       TYPE ... ADD VALUE</command></link> could only be called in
-       a transaction that created the enumerated type.  Now, the only
-       restriction is that the new enumerated value cannot be referenced
-       until the transaction commits.
+       Previously, <link linkend="sql-altertype"><command>ALTER TYPE
+       ... ADD VALUE</command></link> could not be called in a transaction
+       block, unless it was part of the same transaction that created the
+       enumerated type.  Now it can be called in a later transaction, so
+       long as the new enumerated value is not referenced until after it is
+       committed.
       </para>
      </listitem>
 
@@ -2123,7 +2123,9 @@ Author: Peter Eisentraut <peter@eisentraut.org>
 
       <para>
        The commands are <link linkend="sql-commit"><command>COMMIT AND
-       CHAIN</command></link> and <command>ROLLBACK AND CHAIN</command>.
+       CHAIN</command></link>
+       and <link linkend="sql-rollback"><command>ROLLBACK AND
+       CHAIN</command></link>.
       </para>
      </listitem>
 
@@ -2144,8 +2146,8 @@ Author: Fujii Masao <fujii@postgresql.org>
       <para>
        These options are <varname>vacuum_truncate</varname> and
        <varname>toast.vacuum_truncate</varname>.  Use of these options
-       reduces vacuum's locking requirements, but prevents returning disk
-       space to the operating system.
+       reduces <command>VACUUM</command>'s locking requirements, but
+       prevents returning disk space to the operating system.
       </para>
      </listitem>
 
@@ -2180,7 +2182,7 @@ Author: Michael Paquier <michael@paquier.xyz>
       <para>
        Add the ability to skip <command>VACUUM</command> and
        <command>ANALYZE</command> operations on tables that cannot be
-       immediately locked (Nathan Bossart)
+       locked immediately (Nathan Bossart)
       </para>
 
       <para>
@@ -2233,8 +2235,8 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org>
       </para>
 
       <para>
-       This output can also be obtained in auto-explain via <xref
-       linkend="auto-explain"/>.<literal>log_settings</literal>.
+       This output can also be obtained in <xref linkend="auto-explain"/>
+       by setting <varname>auto_explain.log_settings</varname>.
       </para>
      </listitem>
 
@@ -2263,8 +2265,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
       </para>
 
       <para>
-       This allows modifications of <literal>reloptions</literal> and
-       autovacuum settings.
+       Modifications of catalogs' <literal>reloptions</literal> and
+       autovacuum settings are now supported.
       </para>
      </listitem>
 
@@ -2280,8 +2282,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
       </para>
 
       <para>
-       Previously, only the first column name was used, resulting in
-       ambiguity for multi-column foreign keys.
+       Previously, only the first column name was included in the constraint
+       name, resulting in ambiguity for multi-column foreign keys.
       </para>
      </listitem>
 
@@ -2340,7 +2342,7 @@ Author: Peter Eisentraut <peter@eisentraut.org>
       <para>
        Allow creation of <link
        linkend="collation">collations</link> that report
-       string equality for strings that are not byte-wise equal (Peter
+       string equality for strings that are not bit-wise equal (Peter
        Eisentraut)
       </para>
 
@@ -2685,24 +2687,6 @@ Author: Michael Meskes <meskes@postgresql.org>
      <listitem>
 <!--
 Author: Michael Meskes <meskes@postgresql.org>
-2019-02-16 [bd7c95f0c] Add DECLARE STATEMENT support to ECPG.
--->
-
-      <para>
-       Add <command>DECLARE STATEMENT</command> support to
-       <productname>ECPG</productname> (Takeshi Ideriha, Hayato Kuroda)
-      </para>
-
-      <para>
-       This allows statements to be associated with named connections,
-       so future operations like cursors don't need to re-reference the
-       connection name.
-      </para>
-     </listitem>
-
-     <listitem>
-<!--
-Author: Michael Meskes <meskes@postgresql.org>
 2019-05-22 [a1dc6ab46] Implement PREPARE AS statement for ECPG.
 -->
 
@@ -2810,7 +2794,7 @@ Author: Peter Eisentraut <peter@eisentraut.org>
        <para>
         Show the manual page <acronym>URL</acronym> in
         <application>psql</application>'s <command>\help</command> output
-        (Peter Eisentraut)
+        for a SQL command (Peter Eisentraut)
        </para>
       </listitem>
 
@@ -2945,13 +2929,14 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
 -->
 
       <para>
-       Properly detach the server on <application>pg_ctl</application>
-       start (Paul Guo)
+       Properly detach the new server process
+       during <literal><application>pg_ctl</application> start</literal>
+       (Paul Guo)
       </para>
 
       <para>
-       This prevents later shell activity from interfering with the
-       postmaster.
+       This prevents the server from being shut down if the shell script
+       that invoked <application>pg_ctl</application> is interrupted later.
       </para>
      </listitem>
 
@@ -3394,7 +3379,7 @@ Author: Jeff Davis <jdavis@postgresql.org>
        While <literal>CHECK OPTION</literal>s on
        <application>postgres_fdw</application> tables are ignored (because
        the reference is foreign), views on such tables are considered
-       local, so this release enforces <literal>CHECK OPTION</literal>s
+       local, so this change enforces <literal>CHECK OPTION</literal>s
        on them.  Previously, only <command>INSERT</command>s and
        <command>UPDATE</command>s with <literal>RETURNING</literal>
        clauses that returned <literal>CHECK OPTION</literal> values