Doc: copy-editing for v14 release notes.
authorTom Lane
Sat, 18 Sep 2021 21:09:46 +0000 (17:09 -0400)
committerTom Lane
Sat, 18 Sep 2021 21:09:46 +0000 (17:09 -0400)
Improve various item descriptions.  Rearrange some things into
(IMO) more logical order.  Fix missing markup and dubious
choices of link destinations.  Drop a couple of items that
were later back-patched or otherwise don't seem to need
to be documented here.

doc/src/sgml/release-14.sgml

index 9015a78b09a146190af6c072de9fd0acd488ad06..b7a84fb64d7e6815cc6b414f70557142e1254a1b 100644 (file)
@@ -20,6 +20,7 @@
    
     
      
+      TO BE ADDED
      
     
    
     
 
 
      
-      Prevent the containment operators (<@ and
-      @>) for  from using
-      GiST indexes (Tom Lane)
+      User-defined objects that reference certain built-in array functions
+      along with their argument types must be recreated (Tom Lane)
      
 
      
-      Previously a full GiST index scan was required, so just avoid
-      that and scan the heap, which is faster.  Indexes created for this
-      purpose should be removed.
+      Specifically, 
+      linkend="functions-array">array_append(),
+      array_prepend(),
+      array_cat(),
+      array_position(),
+      array_positions(),
+      array_remove(),
+      array_replace(), and 
+      linkend="functions-math">width_bucket()
+      used to take anyarray arguments but now take
+      anycompatiblearray.  Therefore, user-defined objects
+      like aggregates and operators that reference those array function
+      signatures must be dropped before upgrading, and recreated once the
+      upgrade completes.
      
     
 
@@ -87,8 +98,8 @@ Author: Tom Lane 
      
 
      
-      The more consistent <@ and @> have been recommended for
-      many years.
+      The more consistently named <@
+      and @> have been recommended for many years.
      
     
 
@@ -129,7 +140,7 @@ Author: Alexander Korotkov 
 
      
       Previously, quoted text that contained multiple adjacent discarded
-      tokens were treated as multiple tokens, causing incorrect tsquery
+      tokens was treated as multiple tokens, causing incorrect tsquery
       output, e.g., websearch_to_tsquery('"aaa: bbb"') used to output
       'aaa' <2> 'bbb', but now outputs 'aaa' <-> 'bbb'.
      
@@ -138,341 +149,348 @@ Author: Alexander Korotkov 
     
 
 
      
-      Change the default of the 
-      server parameter to scram-sha-256 (Peter
-      Eisentraut)
+      Change 
+      linkend="functions-datetime">EXTRACT()
+      to return type numeric instead of float8
+      (Peter Eisentraut)
      
 
      
-      Previously it was md5.  All new passwords will
-      be stored as SHA256 unless this server variable is changed or
-      the password is specified in md5 format.  Also, the legacy (and
-      undocumented) Boolean-like values which were previously synonyms
-      for md5 are no longer accepted.
+      This avoids loss-of-precision issues in some usages.  The old
+      behavior can still be obtained by using the old underlying function
+      date_part().
+     
+
+     
+      Also, EXTRACT(date) now throws an error for units
+      that are not part of the date data type.
      
     
 
     
 
 
      
-      Overhaul the specification of clientcert in 
-      linkend="auth-pg-hba-conf">pg_hba.conf
-      (Kyotaro Horiguchi)
+      Change 
+      linkend="functions-aggregate">var_samp()
+      and stddev_samp() with numeric parameters to
+      return NULL when the input is a single NaN value (Tom Lane)
      
 
      
-      Values
-      1/0/no-verify
-      are no longer supported;  only the strings
-      verify-ca and verify-full
-      can be used.  Also, disallow verify-ca if cert
-      authentication is enabled since cert requires
-      verify-full checking.
+      Previously NaN was returned.
      
     
 
     
 
 
      
-      Remove support for 
-      linkend="runtime-config-connection-ssl">SSL
-      compression (Daniel Gustafsson, Michael Paquier)
+      Return false for 
+      linkend="functions-info">has_column_privilege()
+      checks on non-existent or dropped columns when using attribute
+      numbers (Joe Conway)
      
 
      
-      This was already disabled by default in previous
-      PostgreSQL releases, and most modern
-      OpenSSL and TLS versions no longer support it.
+      Previously such attribute numbers returned an invalid-column error.
      
     
 
     
 
 
      
-      Remove server and libpq support
-      for the version 2 wire protocol
-      (Heikki Linnakangas)
+      Fix handling of infinite 
+      linkend="syntax-window-functions">window function ranges
+      (Tom Lane)
      
 
      
-      This was last used as the default in
-      PostgreSQL 7.3 (year 2002).
+      Previously window frame clauses like 'inf' PRECEDING AND
+      'inf' FOLLOWING returned incorrect results.
      
     
 
     
 
 
      
-      Change 
-      linkend="functions-datetime">EXTRACT
-      to return the NUMERIC data type (Peter Eisentraut)
+      Remove factorial operators ! and
+      !!, as well as function
+      numeric_fac() (Mark Dilger)
      
 
      
-      EXTRACT(date) now throws an error for units
-      that are not part of the date data type.
+      The 
+      linkend="functions-math">factorial()
+      function is still supported.
      
     
 
     
 
 
      
-      Fix handling of infinite 
-      linkend="syntax-window-functions">window function ranges
-      (Tom Lane)
+      Disallow factorial() of negative numbers
+      (Peter Eisentraut)
      
 
      
-      Previously window frame clauses like 'inf' PRECEDING AND
-      'inf' FOLLOWING returned incorrect results.
+      Previously such cases returned 1.
      
     
 
     
 
 
      
-      Prevent 's function
-      normal_rand() from accepting negative values
-      (Ashutosh Bapat)
+      Remove support for postfix
+      (right-unary) operators (Mark Dilger)
      
 
      
-      Negative values produced undesirable results.
+      pg_dump and
+      pg_upgrade will warn if postfix operators
+      are being dumped.
      
     
 
     
 
 
      
-      Change 
-      linkend="functions-aggregate">var_samp()
-      and stddev_samp() with numeric parameters to
-      return NULL for a single NaN value (Tom Lane)
+      Allow \D and \W shorthands to
+      match newlines in regular
+      expression newline-sensitive mode (Tom Lane)
      
 
      
-      Previously NaN was returned.
+      Previously they did not match newlines in this
+      mode, but that disagrees with the behavior of other common regular
+      expression engines.  [^[:digit:]] or
+      [^[:word:]] can be used to get the old behavior.
      
     
 
     
 
 
      
-      User-defined objects that reference some built-in array functions
-      along with their argument types must be recreated (Tom Lane)
+      Disregard constraints when matching regular expression 
+      linkend="posix-escape-sequences">back-references (Tom Lane)
      
 
      
-      Specifically, 
-      linkend="functions-array">array_append(),
-      array_prepend(),
-      array_cat(),
-      array_position(),
-      array_positions(),
-      array_remove(),
-      array_replace(), or 
-      linkend="functions-math">width_bucket()
-      used to take anyarray arguments but now take
-      anycompatiblearray.  Therefore, user-defined objects
-      like aggregates and operators that reference old array function
-      signatures must be dropped before upgrading and recreated once the
-      upgrade completes.
+      For example, in (^\d+).*\1,
+      the ^ constraint should be applied at the start
+      of the string, but not when matching \1.
      
     
 
     
 
 
      
-      Remove factorial operators ! and
-      !! (Mark Dilger)
+      Disallow \w as a range start or end in regular
+      expression character classes (Tom Lane)
      
 
      
-      The 
-      linkend="functions-math">factorial()
-      function is still supported.  Also remove function
-      numeric_fac().
+      This previously was allowed but produced unexpected results.
      
     
 
     
 
 
      
-      Disallow factorial() of negative numbers
-      (Peter Eisentraut)
-     
-
-     
-      Previously such cases returned 1.
+      Require custom server
+      parameter names to use only characters that are valid in
+      unquoted SQL identifiers (Tom Lane)
      
     
 
     
 
 
      
-      Remove support for postfix
-      (right-unary) operators (Mark Dilger)
+      Change the default of the 
+      server parameter to scram-sha-256 (Peter
+      Eisentraut)
      
 
      
-      pg_dump and
-      pg_upgrade will warn if postfix operators
-      are being dumped.
+      Previously it was md5.  All new passwords will
+      be stored as SHA256 unless this server setting is changed or
+      the password is specified in MD5 format.  Also, the legacy (and
+      undocumented) Boolean-like values which were previously synonyms
+      for md5 are no longer accepted.
      
     
 
     
 
 
      
-      Allow \D and \W shorthands to
-      match newlines in regular
-      expression newline-sensitive mode (Tom Lane)
+      Remove server parameter
+      vacuum_cleanup_index_scale_factor (Peter Geoghegan)
      
 
      
-      Previously they did not match;  [^[:digit:]] or
-      <literal>[^[:word:]] can be used to get the old behavior.
+      This setting was ignored starting in
+      <productname>PostgreSQL version 13.3.
      
     
 
     
 
 
      
-      Improve handling of regular expression 
-      linkend="posix-escape-sequences">back-references (Tom Lane)
+      Remove server parameter operator_precedence_warning
+      (Tom Lane)
      
 
      
-      For example, disregard ^ in its expansion in
-      <literal>\1 in (^\d+).*\1.
+      This setting was used for warning applications about
+      <productname>PostgreSQL 9.5 changes.
      
     
 
     
 
 
      
-      Disallow \w as range start/end in character
-      classes (Tom Lane)
+      Overhaul the specification of clientcert in 
+      linkend="auth-pg-hba-conf">pg_hba.conf
+      (Kyotaro Horiguchi)
      
 
      
-      This previously was allowed but produced incorrect results.
+      Values
+      1/0/no-verify
+      are no longer supported;  only the strings
+      verify-ca and verify-full
+      can be used.  Also, disallow verify-ca if cert
+      authentication is enabled since cert requires
+      verify-full checking.
      
     
 
     
 
 
      
-      Require custom server
-      variable names to use only characters which are valid for
-      unquoted SQL identifiers (Tom Lane)
+      Remove support for 
+      linkend="runtime-config-connection-ssl">SSL
+      compression (Daniel Gustafsson, Michael Paquier)
+     
+
+     
+      This was already disabled by default in previous
+      PostgreSQL releases, and most modern
+      OpenSSL and TLS versions no longer support it.
      
     
 
     
 
 
      
-      Remove server variable
-      vacuum_cleanup_index_scale_factor (Peter Geoghegan)
+      Remove server and libpq support
+      for the version 2 wire protocol
+      (Heikki Linnakangas)
      
 
      
-      This setting was ignored starting in
-      PostgreSQL version 13.3.
+      This was last used as the default in
+      PostgreSQL 7.3 (released in 2002).
      
     
 
     
 
 
      
-      Return false for 
-      linkend="functions-info">has_column_privilege()
-      checks on non-existent or dropped columns when using attribute
-      numbers (Joe Conway)
+      Disallow single-quoting of the language name in the
+      CREATE/DROP
+      LANGUAGE command (Peter Eisentraut)
      
+    
+
+    
+
 
      
-      Previously such attribute numbers returned an invalid column error.
+      Remove the composite
+      types that were formerly created for sequences and toast
+      tables (Tom Lane)
      
     
 
@@ -485,27 +503,33 @@ Author: Tom Lane 
 -->
 
      
-      Pass doubled quote marks in ecpg
-      SQL command strings literally (Tom Lane)
+      Process doubled quote marks in ecpg
+      SQL command strings correctly (Tom Lane)
      
 
      
       Previously 'abc''def' was passed to the server
       as 'abc'def', and "abc""def"
-      was passed as "abc"def".
+      was passed as "abc"def", causing syntax errors.
      
     
 
     
 
 
      
-      Disallow single-quoting of the language name in the
-      CREATE/DROP
-      LANGUAGE command (Peter Eisentraut)
+      Prevent the containment operators (<@ and
+      @>) for  from using
+      GiST indexes (Tom Lane)
+     
+
+     
+      Previously a full GiST index scan was required, so just avoid
+      that and scan the heap, which is faster.  Indexes created for this
+      purpose should be removed.
      
     
 
@@ -523,30 +547,18 @@ Author: Thomas Munro 
 
     
 
-
-     
-      Remove composite
-      types for sequences or toast tables (Tom Lane)
-     
-    
-
-    
-
 
      
-      Remove operator_precedence_warning setting
-      (Tom Lane)
+      Prevent 's function
+      normal_rand() from accepting negative values
+      (Ashutosh Bapat)
      
 
      
-      This was needed for warning applications about
-      PostgreSQL 9.5 changes.
+      Negative values produced undesirable results.
      
     
 
@@ -576,8 +588,8 @@ Author: Stephen Frost 
 
       
        Add predefined roles 
-       linkend="predefined-roles"><structname>pg_read_all_data>
-       and <structname>pg_write_all_data> (Stephen Frost)
+       linkend="predefined-roles"><literal>pg_read_all_data>
+       and <literal>pg_write_all_data> (Stephen Frost)
       
 
       
@@ -593,13 +605,13 @@ Author: Noah Misch 
 -->
 
       
-       Add a predefined role to match the database owner (Noah Misch)
+       Add predefined role 
+       linkend="predefined-roles">pg_database_owner
+       that contains only the current database's owner (Noah Misch)
       
 
       
-       It is called 
-       linkend="predefined-roles">pg_database_owner;
-       this is useful in template databases.
+       This is especially useful in template databases.
       
      
 
@@ -614,9 +626,9 @@ Author: Tomas Vondra 
       
 
       
-       These files were previously retained for debugging
-       purposes;  deletion can be disabled with 
-       linkend="guc-remove-temp-files-after-crash"/>.
+       Previously, such files were retained for debugging purposes.  If
+       necessary, deletion can be disabled with the new server parameter
+       linkend="guc-remove-temp-files-after-crash"/>.
       
      
 
@@ -632,10 +644,10 @@ Author: Thomas Munro 
       
 
       
-       The server variable 
-       linkend="guc-client-connection-check-interval"/> allows some
-       supported operating systems to automatically cancel queries by
-       disconnected clients.
+       The server parameter 
+       linkend="guc-client-connection-check-interval"/> allows control
+       over whether loss of connection is checked for intra-query.
+       (This is supported on Linux and a few other operating systems.)
       
      
 
@@ -676,12 +688,12 @@ Author: Peter Eisentraut 
 -->
 
       
-       Add Server Name Indication (SNIfor
+       Add Server Name Indication (SNIin
        SSL connection packets (Peter Eisentraut)
       
 
       
-       This can be disabled by turning off client option 
+       This can be disabled by turning off client connection option 
        linkend="libpq-paramkeywords">sslsni.
       
      
@@ -709,7 +721,7 @@ Author: Peter Geoghegan 
        
         The vacuum parameter 
         linkend="sql-vacuum">INDEX_CLEANUP has a
-        new default of auto to enable this optimization.
+        new default of auto that enables this optimization.
        
       
 
@@ -888,12 +900,13 @@ Author: Tom Lane 
 -->
 
        
-        Improve the performance of updates/deletes on partitioned tables
+        Improve the performance of updates and deletes on partitioned tables
         when only a few partitions are affected (Amit Langote, Tom Lane)
        
 
        
-        This also allows updates/deletes on partitioned tables to use
+        This change reduces the planner's overhead for such cases, and
+        also allows updates/deletes on partitioned tables to use
         execution-time partition pruning.
        
       
@@ -923,11 +936,14 @@ Author: Tom Lane 
 -->
 
        
-        Allow arbitrary collations of partition boundary values (Tom Lane)
+        Ignore COLLATE clauses in partition boundary
+        values (Tom Lane)
        
 
        
-        Previously it had to match the collation of the partition key.
+        Previously any such clause had to match the collation of the
+        partition key; but it's more consistent to consider that it's
+        automatically coerced to the collation of the partition key.
        
       
 
@@ -989,7 +1005,7 @@ Author: Tomas Vondra 
 
        
         This allows BRIN indexes to be used effectively
-        with data that is not physically localized in the heap.
+        with data that is not well-localized in the heap.
        
       
 
@@ -1017,7 +1033,7 @@ Author: Tom Lane 
 -->
 
        
-        Allow SP-GiST to use
+        Allow SP-GiST indexes to contain
         INCLUDE'd columns (Pavel Borisov)
        
       
@@ -1038,13 +1054,13 @@ Author: David Rowley 
 -->
 
        
-        Allow hash lookup of IN clause with many
+        Allow hash lookup for IN clauses with many
         constants (James Coleman, David Rowley)
        
 
        
-        Previously the only option was to sequentially scan the list
-        of constants.
+        Previously the code always sequentially scanned the list
+        of values.
        
       
 
@@ -1080,9 +1096,7 @@ Author: Tomas Vondra 
         This allows statistics on a group of expressions and columns,
         rather than only columns like previously.  System view 
         linkend="view-pg-stats-ext-exprs">pg_stats_ext_exprs
-        reports such statistics. 
-        linkend="sql-altertable">ALTER TABLE ... ALTER COLUMN
-        ... TYPE RESETS STATISTICS?
+        reports such statistics.
        
       
 
@@ -1172,7 +1186,7 @@ Author: David Rowley 
 
        
         This is useful if only a small percentage of rows is checked on
-        the inner side.  It can be disabled via 
+        the inner side.  It can be disabled via server parameter 
         linkend="guc-enable-memoize"/>.
        
       
@@ -1271,9 +1285,9 @@ Author: Tom Lane 
 -->
 
        
-        Improve the performance of 
-        linkend="functions-similarto-regexp">regular expression
-        comparisons (Tom Lane)
+        Improve performance of 
+        linkend="functions-posix-regexp">regular expression
+        searches (Tom Lane)
        
       
 
@@ -1309,10 +1323,10 @@ Author: Robert Haas 
 
        
         This can be set at the column level, or set as a default via server
-        setting .
+        parameter .
         The server must be compiled with 
         linkend="configure-options-features">
-        to support this feature;  the default is still pglz.
+        to support this feature.  The default setting is still pglz.
        
       
 
@@ -1340,7 +1354,7 @@ Author: Alvaro Herrera 
 -->
 
        
-        If server variable 
+        If server parameter 
         is enabled, display the query id in 
         linkend="monitoring-pg-stat-activity-view">pg_stat_activity,
         EXPLAIN
@@ -1422,8 +1436,8 @@ Author: Fujii Masao 
 
        
         Add system view 
-        linkend="monitoring-pg-stat-wal-view">pg_stat_wal,
-        which reports WAL activity (Masahiro Ikeda)
+        linkend="monitoring-pg-stat-wal-view">pg_stat_wal
+        to report WAL activity (Masahiro Ikeda)
        
       
 
@@ -1578,7 +1592,7 @@ Author: Andrew Dunstan 
 -->
 
        
-        Allow the certificate's distinguished name (DN)
+        Allow an SSL certificate's distinguished name (DN)
         to be matched for client certificate authentication (Andrew
         Dunstan)
        
@@ -1586,7 +1600,7 @@ Author: Andrew Dunstan 
        
         The new 
         linkend="auth-pg-hba-conf">pg_hba.conf
-        keyword clientname=DN allows comparison with
+        option clientname=DN allows comparison with
         certificate attributes beyond the CN and can
         be combined with ident maps.
        
@@ -1622,10 +1636,10 @@ Author: Peter Eisentraut 
        
 
        
-        This is controlled by server variable 
+        This is controlled by server parameter 
         linkend="guc-ssl-crl-dir"/> and libpq connection option
         .  Previously only
-        CRL files could be specified.
+        single CRL files could be specified.
        
       
 
@@ -1656,7 +1670,7 @@ Author: Tom Lane 
 -->
 
        
-        Add server setting 
+        Add server parameter 
         to close idle sessions (Li Japin)
        
 
@@ -1689,8 +1703,9 @@ Author: Michael Paquier 
 -->
 
        
-        Allow %P in  to report the
-        parallel group leader (Justin Pryzby)
+        Allow %P
+        in  to report the
+        parallel group leader's PID for a parallel worker (Justin Pryzby)
        
       
 
@@ -1735,8 +1750,8 @@ Author: Thomas Munro 
 -->
 
        
-        Add setting  to control the
-        size of huge pages used on Linux (Odin Ugedal)
+        Add server parameter  to
+        control the size of huge pages used on Linux (Odin Ugedal)
        
       
 
@@ -1771,7 +1786,7 @@ Author: Fujii Masao 
 -->
 
       
-       Allow  setting to be changed
+       Allow the  setting to be changed
        during a server reload (Sergei Kornilov)
       
 
@@ -1792,7 +1807,7 @@ Author: Fujii Masao 
 -->
 
       
-       Add server variable 
+       Add server parameter 
        linkend="guc-log-recovery-conflict-waits"/> to report long recovery
        conflict wait times (Bertrand Drouvot, Masahiko Sawada)
       
@@ -1805,8 +1820,9 @@ Author: Peter Eisentraut 
 -->
 
       
-       Pause recovery if the primary changes its parameters in a way that
-       prevents replay on the hot standby (Peter Eisentraut)
+       Pause recovery on a hot standby server if the primary changes its
+       parameters in a way that prevents replay on the standby (Peter
+       Eisentraut)
       
 
       
@@ -1840,9 +1856,14 @@ Author: Tom Lane 
 -->
 
       
-       Add new server-side variable 
+       Add new read-only server parameter 
        (Haribabu Kommi, Greg Nancarrow, Tom Lane)
       
+
+      
+       This allows clients to easily detect whether they are connected to
+       a hot standby server.
+      
      
 
      
@@ -1870,10 +1891,10 @@ Author: Thomas Munro 
 
       
        By default, PostgreSQL
-       opens and fsyncs every data file at the
-       start of crash recovery.  This new setting, 
+       opens and fsyncs each data file in the database cluster at the
+       start of crash recovery.  A new setting, 
        linkend="guc-recovery-init-sync-method"/>=syncfs,
-       instead syncs each filesystem used by the database cluster.
+       instead syncs each filesystem used by the cluster.
        This allows for faster recovery on systems with many database files.
       
      
@@ -2138,9 +2159,9 @@ Author: Peter Eisentraut 
       
 
       
-       The alias is created by using AS after the
-       USING clause and represents an alias for the
-       USING columns.
+       The alias is created by writing AS after the
+       USING clause.  It can be used as a table
+       qualification for the merged USING columns.
       
      
 
@@ -2170,12 +2191,13 @@ Author: Tom Lane 
 -->
 
       
-       Properly handle DEFAULT values for columns in
-       multi-column inserts (Dean Rasheed)
+       Properly handle DEFAULT entries in multi-row
+       VALUES lists in INSERT
+       (Dean Rasheed)
       
 
       
-       This used to throw an error.
+       Such cases used to throw an error.
       
      
 
@@ -2195,7 +2217,8 @@ Author: Peter Eisentraut 
       
 
       
-       This could be accomplished previously using existing syntax.
+       The same results could be accomplished using existing syntax, but
+       much less conveniently.
       
      
 
@@ -2206,12 +2229,12 @@ Author: Tom Lane 
 -->
 
       
-       Allow the WHERE clause of ON
-       CONFLICT to be table-qualified (Tom Lane)
+       Allow column names in the WHERE clause
+       of ON CONFLICT to be table-qualified (Tom Lane)
       
 
       
-       Only the target table can be referenced.
+       Only the target table can be referenced, however.
       
      
 
@@ -2308,17 +2331,16 @@ Author: Tom Lane 
 -->
 
       
-       Preserve SQL standard syntax in 
-       linkend="sql-createview">view definitions, if possible
+       Preserve SQL standard syntax for SQL-defined
+       functions in view definitions
        (Tom Lane)
       
 
       
-       Previously non-function call
-       SQL standard syntax, e.g. 
-       linkend="functions-formatting">EXTRACT,
-       were converted to non-SQL standard function
-       calls.
+       Previously, calls to SQL-standard functions such as 
+       linkend="functions-datetime-extract">EXTRACT()
+       were shown in plain function-call syntax.  The original syntax
+       is now preserved when displaying a view or rule.
       
      
 
@@ -2344,7 +2366,7 @@ Author: Tom Lane 
 -->
 
       
-       Add OR REPLACE for 
+       Add OR REPLACE option for 
        linkend="sql-createtrigger">CREATE TRIGGER
        (Takamichi Osumi)
       
@@ -2380,7 +2402,8 @@ Author: Peter Eisentraut 
 -->
 
       
-       Allow publications to be more easily added and removed (Japin Li)
+       Allow publications to be more easily added to and removed from a
+       subscription (Japin Li)
       
 
       
@@ -2405,9 +2428,13 @@ Author: Tom Lane 
       
 
       
-       This helps GUI tools analyze the
-       system tables.  The constraints are visible using 
-       linkend="functions-aclitem-fn-table">pg_get_catalog_foreign_keys().
+       These changes help GUI tools analyze the system
+       catalogs.  The existing unique indexes of catalogs now have
+       associated UNIQUE or PRIMARY
+       KEY constraints.  Foreign key relationships are not
+       actually stored or implemented as constraints, but can be obtained
+       for display from the
+       function pg_get_catalog_foreign_keys().
       
      
 
@@ -2493,29 +2520,8 @@ Author: Alexander Korotkov 
 
       
        These are like range data types, but they allow the specification
-       of multiple, ordered, non-overlapping ranges.  All existing range
-       types now also support multirange versions.
-      
-     
-
-     
-
-
-      
-       Add point operators
-       <<| and |>>
-       to be strictly above/below geometry (Emre Hasegeli)
-      
-
-      
-       Previously >^ and <^
-       were marked as performing this test, but non-point geometric
-       operators used these operators for non-strict comparisons, leading
-       to confusion.  The old operators still exist but will be eventually
-       removed.  ACCURATE?
+       of multiple, ordered, non-overlapping ranges.  An associated
+       multirange type is automatically created for every range type.
       
      
 
@@ -2549,7 +2555,7 @@ Author: Tom Lane 
       
 
       
-       The previous limit was 4k bytes.  Also remove function
+       The previous limit was 4K bytes.  Also remove function
        t_readline().
       
      
@@ -2561,8 +2567,8 @@ Author: Tom Lane 
 -->
 
       
-       Add support for infinity and
-       -infinity values to the 
+       Add support for Infinity and
+       -Infinity values in the 
        linkend="datatype-numeric">numeric data type (Tom Lane)
       
 
@@ -2574,45 +2580,20 @@ Author: Tom Lane 
      
 
-
-      
-       Improve the accuracy of floating-point computations involving
-       infinity (Tom Lane)
-      
-     
-
-     
-
-
-      
-       Have non-zero float values
-       divided by infinity return zero (Kyotaro Horiguchi)
-      
-
-      
-       Previously such operations produced underflow errors.
-      
-     
-
-     
-
 
       
-       Cause floating-point division of NaN by zero to return NaN
-       (Tom Lane)
+       Add point operators
+       <<| and |>>
+       representing strictly above/below tests (Emre Hasegeli)
       
 
       
-       Previously this returned an error.  Division with Numerics always
-       returned NaN.
+       Previously these were called >^
+       and <^, but that naming is inconsistent with
+       other geometric data types.  The old names remain available,
+       but may someday be removed.
       
      
 
@@ -2649,8 +2630,15 @@ Author: Tom Lane 
 -->
 
       
-       Create composite array types for most system relations (Wenjing
-       Zeng)
+       Create composite array types for system catalogs (Wenjing Zeng)
+      
+
+      
+       User-defined relations have long had composite types associated
+       with them, and also array types over those composite types.
+       System catalogs now do as well.  This change also fixes an
+       inconsistency that creating a user-defined table in single-user
+       mode would fail to create a composite array type.
       
      
 
@@ -2677,8 +2665,11 @@ Author: Peter Eisentraut 
       
 
       
-       Previously only single-quoted or $$-quoted function bodies were
-       supported.
+       Previously only string-literal function bodies were supported.
+       When writing a function or procedure in SQL-standard syntax,
+       the body is parsed immediately and stored as a parse tree.
+       This allows better tracking of function dependencies, and can have
+       security benefits.
       
      
 
@@ -2708,7 +2699,7 @@ Author: Tom Lane 
       
 
       
-       The functions are 
+       The functions 
        linkend="functions-array">array_append(),
        array_prepend(),
        array_cat(),
@@ -2716,8 +2707,10 @@ Author: Tom Lane 
        array_positions(),
        array_remove(),
        array_replace(), and 
-       linkend="functions-math">width_bucket().
-       Previously only identical data types could be used.
+       linkend="functions-math">width_bucket()
+       now take anycompatiblearray instead
+       of anyarray arguments.  This makes them less fussy
+       about exact matches of argument types.
       
      
 
@@ -2734,7 +2727,7 @@ Author: Tom Lane 
       
 
       
-       This can already be done with array slices.
+       This could already be done with array slices, but less easily.
       
      
 
@@ -2745,7 +2738,7 @@ Author: Tom Lane 
 -->
 
       
-       Add bytea equivalents of 
+       Add bytea equivalents of 
        linkend="functions-binarystring">ltrim()
        and rtrim() (Joel Jacobson)
       
@@ -2847,8 +2840,8 @@ Author: Peter Eisentraut 
       
 
       
-       The function date_bin() "bins" the input
-       timestamp into a specified interval aligned with a specified origin.
+       This function bins input timestamps, grouping them
+       into intervals of a uniform length aligned with a specified origin.
       
      
 
@@ -2865,7 +2858,7 @@ Author: Tom Lane 
       
 
       
-       They are interpreted as BC years.
+       Negative values are interpreted as BC years.
       
      
 
@@ -2882,10 +2875,10 @@ Author: Peter Eisentraut 
       
 
       
-       The new syntax is SUBSTRING(text SIMILAR pattern ESCAPE
-       escapechar).  The previous standard syntax was
+       The new SQL-standard syntax is SUBSTRING(text SIMILAR
+       pattern ESCAPE escapechar).  The previous standard syntax was
        SUBSTRING(text FROM pattern FOR escapechar),
-       and is still supported by PostgreSQL.
+       which is still accepted by PostgreSQL.
       
      
 
@@ -2898,7 +2891,7 @@ Author: Tom Lane 
       
        Allow complemented character class escapes 
        linkend="posix-escape-sequences">\D, \S,
-       and \W within regex brackets (Tom Lane)
+       and \W within regular expression brackets (Tom Lane)
       
      
 
@@ -2910,8 +2903,9 @@ Author: Tom Lane 
 
       
        Add 
-       linkend="posix-escape-sequences">[[:word:]]
-       as a character class to match \w (Tom Lane)
+       linkend="posix-bracket-expressions">[[:word:]]
+       as a regular expression character class, equivalent
+       to \w (Tom Lane)
       
      
 
@@ -2931,71 +2925,83 @@ Author: Tom Lane 
      
 
 
       
-       Cause 
-       linkend="functions-math">exp() and
-       power() for negative-infinity exponents to
-       return zero (Tom Lane)
+       Make non-zero floating-point values
+       divided by infinity return zero (Kyotaro Horiguchi)
       
 
       
-       Previously they often returned underflow errors.
+       Previously such operations produced underflow errors.
       
      
 
      
 
 
       
-       Mark built-in type coercion functions as leakproof where possible
+       Make floating-point division of NaN by zero return NaN
        (Tom Lane)
       
 
       
-       This allows more use of functions that require type conversion in
-       security-sensitive situations.
+       Previously this returned an error.
       
      
 
      
 
 
       
-       Mark pg_stat_get_subscription() as returning
-       a set (Tom Lane)
+       Cause 
+       linkend="functions-math">exp() and
+       power() for negative-infinity exponents to
+       return zero (Tom Lane)
       
 
       
-       While it worked in previous releases, it didn't report proper
-       optimizer statistics and couldn't be used in the target list.
-       FUNCTION NOT DOCUMENTED.
+       Previously they often returned underflow errors.
       
      
 
      
 
 
       
-       Prevent 
-       linkend="functions-info">inet_server_addr()
-       and inet_server_port() from being run by
-       parallel workers (Masahiko Sawada)
+       Improve the accuracy of geometric computations involving
+       infinity (Tom Lane)
+      
+     
+
+     
+
+
+      
+       Mark built-in type coercion functions as leakproof where possible
+       (Tom Lane)
+      
+
+      
+       This allows more use of functions that require type conversion in
+       security-sensitive situations.
       
      
 
@@ -3037,7 +3043,8 @@ Author: Tom Lane 
       
 
       
-       This adds nested record and array slicing support.
+       This change allows assignment to array slices and nested record
+       fields.
       
      
 
@@ -3089,7 +3096,7 @@ Author: Alvaro Herrera 
       
 
       
-       This allows multiple queries to be sent and only wait for completion
+       This allows multiple queries to be sent, only waiting for completion
        when a specific synchronization message is sent.
       
      
@@ -3230,7 +3237,7 @@ Author: Tom Lane 
       
 
       
-       This is now supported by 
+       This behavior is supported by 
        linkend="app-pgdump">pg_dump,
        
        linkend="app-pg-dumpall">pg_dumpall,
@@ -3259,7 +3266,7 @@ Author: Tom Lane 
        
 
        
-        This helps reduce the number of matches for overloaded entries.
+        This helps reduce the number of matches printed for overloaded names.
        
       
 
@@ -3271,7 +3278,7 @@ Author: Michael Paquier 
 
        
         Add an access method column to psql's
-        \d[i|m|t]+ output (Georgios Kokolatos)
+        \d[i|m|t]+ output (Georgios Kokolatos)
        
       
 
@@ -3308,8 +3315,9 @@ Author: Tom Lane 
 
        
         Fix psql's \dT to
-        understand array syntax and backend grammar aliases, like "int"
-        for "integer" (Greg Sabino Mullane, Tom Lane)
+        understand array syntax and backend grammar aliases,
+        like int for integer
+        (Greg Sabino Mullane, Tom Lane)
        
       
 
@@ -3323,29 +3331,13 @@ Author: Tom Lane 
         When editing the previous query or a file with
         psql's \e, or using
         \ef and \ev, ignore the
-        contents if the editor exits without saving (Laurenz Albe)
+        results if the editor exits without saving (Laurenz Albe)
        
 
        
-        Previously, such edits would still execute the editor contents.
-       
-      
-
-      
-
-
-       
-        Improve psql's handling of
-        \connect with 
-        (Tom Lane)
-       
-
-       
-        Specifically, properly reuse the password previously specified,
-        and prompt for a new password if the previous one failed.
+        Previously, such edits would load the previous query into
+        the query buffer, and typically execute it immediately.  This was
+        deemed to be probably not what the user wants.
        
       
 
@@ -3391,7 +3383,7 @@ Author: Michael Paquier 
 
        
         Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby,
-        Georgios Kokolatos, Julien Rouhaud, ADD NAMES)
+        Georgios Kokolatos, Julien Rouhaud)
        
       
 
@@ -3415,7 +3407,8 @@ Author: Robert Haas 
       
        Add command-line utility 
        linkend="app-pgamcheck">pg_amcheck
-       to simplify running contrib/amcheck operations on many relations
+       to simplify running contrib/amcheck
+       tests on many relations
        (Mark Dilger)
       
      
@@ -3433,7 +3426,8 @@ Author: Magnus Hagander 
       
 
       
-       This removes the server start instructions that are normally output.
+       This suppresses the server startup instructions that are normally
+       printed.
       
      
 
@@ -3534,12 +3528,12 @@ Author: Michael Paquier 
        
         Add configure option 
         linkend="configure-options-features">--with-ssl={openssl}
-        to behave like  (Daniel Gustafsson,
+        to allow future choice of the SSL library to use (Daniel Gustafsson,
         Michael Paquier)
        
 
        
-        The option  is kept for
+        The spelling  is kept for
         compatibility.
        
       
@@ -3591,7 +3585,7 @@ Author: Tom Lane 
 -->
 
        
-        Add  parameter
+        Add server parameter 
         to control cache flushing for test purposes (Craig Ringer)
        
 
@@ -3614,7 +3608,7 @@ Author: Peter Geoghegan 
 
        
         Various improvements in valgrind
-        detection (Álvaro Herrera, Peter Geoghegan)
+        error detection ability (Álvaro Herrera, Peter Geoghegan)
        
       
 
@@ -3671,8 +3665,12 @@ Author: Magnus Hagander 
 -->
 
        
-        Remove build control over the random library used (Daniel
-        Gustafsson)
+        Remove separate build-time control over the choice of random number
+        generator (Daniel Gustafsson)
+       
+
+       
+        This is now always determined by the choice of SSL library.
        
       
 
@@ -3683,8 +3681,8 @@ Author: Heikki Linnakangas 
 -->
 
        
-        Add direct conversion routines between EUC_TW and Big5 (Heikki
-        Linnakangas)
+        Add direct conversion routines between EUC_TW and Big5 encodings
+        (Heikki Linnakangas)
        
       
 
@@ -3695,7 +3693,7 @@ Author: Thomas Munro 
 -->
 
        
-        Add collation versions for FreeBSD
+        Add collation version support for FreeBSD
         (Thomas Munro)
        
       
@@ -3713,7 +3711,8 @@ Author: Tom Lane 
        
 
        
-        REMOVE?
+        This allows an index access method to provide validity checking
+        during creation of a new operator class or family.
        
       
 
@@ -3916,7 +3915,7 @@ Author: Bruce Momjian 
       
 
       
-       The new server variable 's
+       The new server parameter 's
        default of auto will automatically enable query
        id computation when this extension is loaded.
       
@@ -3929,13 +3928,14 @@ Author: Magnus Hagander 
 -->
 
       
-       Allow pg_stat_statements to track top
-       and nested statements independently (Julien Rohaud)
+       Cause pg_stat_statements to track top
+       and nested statements separately (Julien Rohaud)
       
 
       
        Previously, when tracking all statements, identical top and nested
-       statements were tracked together.
+       statements were tracked as a single entry; but it seems more useful
+       to separate such usages.
       
      
 
@@ -3949,7 +3949,7 @@ Author: Fujii Masao 
 
       
        Add row counts for utility commands to
-       <structname>pg_stat_statements> (Fujii Masao, Katsuragi
+       <application>pg_stat_statements> (Fujii Masao, Katsuragi
        Yuta, Seino Yuki)
       
      
@@ -3964,7 +3964,7 @@ Author: Fujii Masao 
 
       
        Add pg_stat_statements_info system view
-       to show <structname>pg_stat_statements> activity
+       to show <application>pg_stat_statements> activity
        (Katsuragi Yuta, Yuki Seino, Naoki Nakamichi)
       
      
@@ -4007,7 +4007,7 @@ Author: Fujii Masao 
        
 
        
-        By default, only the root of partitioned tables is imported.
+        By default, only the root of a partitioned table is imported.