doc: PG 13 relnotes: final SGML indenting adjustments
authorBruce Momjian
Fri, 15 May 2020 14:40:09 +0000 (10:40 -0400)
committerBruce Momjian
Fri, 15 May 2020 14:40:09 +0000 (10:40 -0400)
doc/src/sgml/release-13.sgml

index a15e48a5f110dfa9ccd64b5fb1008d93747f20fd..9b7b10fd7a36c699ab843e7441566a1457c3e1e6 100644 (file)
@@ -12,9 +12,9 @@
   
    Overview
 
-   
-    Major enhancements in PostgreSQL 13 include:
-   
+    
+     Major enhancements in PostgreSQL 13 include:
+    
 
    
 
@@ -26,9 +26,9 @@
 
    
 
-   
-    The above items are explained in more detail in the sections below.
-   
+    
+     The above items are explained in more detail in the sections below.
+    
 
   
 
 
   Migration to Version 13
 
-   
-    A dump/restore using  or use of 
-    linkend="pgupgrade"/> or logical replication is required for those
-    wishing to migrate data from any previous release.  See 
-    linkend="upgrading"/> for general information on migrating to new major
-    releases.
-   
-
-   
-    Version 13 contains a number of changes that may affect compatibility
-    with previous releases.  Observe the following incompatibilities:
-   
-
-   
-
-    
-    
-
     
-     Change SIMILAR
-     TO ... ESCAPE NULL to return NULL
-     (Tom Lane)
+     A dump/restore using  or use of 
+     linkend="pgupgrade"/> or logical replication is required for those
+     wishing to migrate data from any previous release.  See 
+     linkend="upgrading"/> for general information on migrating to new major
+     releases.
     
 
     
-     This new behavior matches the SQL specification.
-     Previously this caused the escape to be set to the default backslash
-     character.  The previous behavior has been retained in old views
-     by keeping the original function unchanged.  This also applies to
-     substring(text FROM pattern ESCAPE text).
+     Version 13 contains a number of changes that may affect compatibility
+     with previous releases.  Observe the following incompatibilities:
     
 
-    >
+   >
 
     
-    
+
 
-    
-     Have 
-     linkend="textsearch-functions-table">jsonb_to_tsvector()>
-     properly check "string" parameter (Dominik Czarnota)
-    
+     
+      Change SIMILAR
+      TO ... ESCAPE NULL to return NULL>
+      (Tom Lane)
+     
 
+     
+      This new behavior matches the SQL specification.
+      Previously this caused the escape to be set to the default backslash
+      character.  The previous behavior has been retained in old views
+      by keeping the original function unchanged.  This also applies to
+      substring(text FROM pattern ESCAPE text).
+     
     
 
     
-    
+
 
-    
-     In , when using adjacent asterisks with braces,
-     e.g. ".*{2}.*{3}", properly interpret that as ".*{5}" (Nikita Glukhov)
-    
+     
+      Have 
+      linkend="textsearch-functions-table">jsonb_to_tsvector()
+      properly check "string" parameter (Dominik Czarnota)
+     
+    
+
+    
+
 
+     
+      In , when using adjacent asterisks with braces,
+      e.g. ".*{2}.*{3}", properly interpret that as ".*{5}" (Nikita Glukhov)
+     
     
 
     
-    
+
 
-    
-     Change the way non-default 
-     linkend="guc-effective-io-concurrency"/> values affect concurrency
-     (Thomas Munro)
-    
+     
+      Change the way non-default 
+      linkend="guc-effective-io-concurrency"/> values affect concurrency
+      (Thomas Munro)
+     
 
-    
-     Previously, this value was adjusted before effecting the number of
-     concurrent requests.  This value is now used directly.  Conversion of
-     old values to new ones can be done using:
-    
+     
+      Previously, this value was adjusted before effecting the number of
+      concurrent requests.  This value is now used directly.  Conversion of
+      old values to new ones can be done using:
+     
 
     
     SELECT round(sum(OLD / n::float)) FROM generate_series(1, OLD) s(n);
     
-
     
 
     
-    
+
 
-    
-     Prevent display of auxiliary processes in 
-     linkend="pg-stat-ssl-view"/> and 
-     system views (Euler Taveira)
-    
-
-    
-     Queries that join these views to 
-     linkend="pg-stat-activity-view"/> and wish to see auxiliary processes
-     will need to use left joins.
-    
+     
+      Prevent display of auxiliary processes in 
+      linkend="pg-stat-ssl-view"/> and 
+      system views (Euler Taveira)
+     
 
+     
+      Queries that join these views to 
+      linkend="pg-stat-activity-view"/> and wish to see auxiliary processes
+      will need to use left joins.
+     
     
 
     
-    
-
-    
-     Fix 's bt_metap()
-     to return more appropriate data types that are less likely to overflow
-     (Peter Geoghegan)
-    
+
 
+     
+      Fix 's bt_metap()
+      to return more appropriate data types that are less likely to overflow
+      (Peter Geoghegan)
+     
     
 
     
-    
+
 
-    
-     Rename some recovery-related wait
-     events (Fujii Masao)
-    
-
-    
-     Rename RecoveryWalAll
-     to RecoveryWalStream
-     and RecoveryWalStream to
-     RecoveryRetrieveRetryInterval.
-    
+     
+      Rename some recovery-related wait
+      events (Fujii Masao)
+     
 
+     
+      Rename RecoveryWalAll
+      to RecoveryWalStream
+      and RecoveryWalStream to
+      RecoveryRetrieveRetryInterval.
+     
     
 
     
-    
-
-    
-     Fix ALTER FOREIGN
-     TABLE ... RENAME COLUMN to return a more appropriate
-     command tag (Fujii Masao)
-    
+
 
-    
-     Previously it returned ALTER TABLE, but now returns
-     ALTER FOREIGN TABLE.
-    
+     
+      Fix ALTER FOREIGN
+      TABLE ... RENAME COLUMN to return a more appropriate
+      command tag (Fujii Masao)
+     
 
+     
+      Previously it returned ALTER TABLE, but now returns
+      ALTER FOREIGN TABLE.
+     
     
 
     
-    
-
-    
-     Fix ALTER
-     MATERIALIZED VIEW ... RENAME COLUMN to return a more
-     appropriate command tag (Fujii Masao)
-    
+
 
-    
-     Previously it returned ALTER TABLE, but now returns
-     ALTER MATERIALIZED VIEW.
-    
+     
+      Fix ALTER
+      MATERIALIZED VIEW ... RENAME COLUMN to return a more
+      appropriate command tag (Fujii Masao)
+     
 
+     
+      Previously it returned ALTER TABLE, but now returns
+      ALTER MATERIALIZED VIEW.
+     
     
 
     
-    
-
-    
-     Remove support for defining operator
-     classes using pre-PostgresSQL
-     8.0 syntax (Daniel Gustafsson)
-    
+
 
+     
+      Remove support for defining operator
+      classes using pre-PostgresSQL
+      8.0 syntax (Daniel Gustafsson)
+     
     
 
     
-    
-
-    
-     Remove support for defining foreign key
-     constraints using pre-PostgresSQL
-     7.3 syntax (Daniel Gustafsson)
-    
+
 
+     
+      Remove support for defining foreign key
+      constraints using pre-PostgresSQL
+      7.3 syntax (Daniel Gustafsson)
+     
     
 
     
-    
-
-    
-     Remove support for "opaque" 
-     linkend="sql-createtype">pseudo-types used by
-     pre-PostgresSQL 7.3 servers (Daniel
-     Gustafsson)
-    
+
 
+     
+      Remove support for "opaque" 
+      linkend="sql-createtype">pseudo-types used by
+      pre-PostgresSQL 7.3 servers (Daniel
+      Gustafsson)
+     
     
 
    
   
    Changes
 
-    
-      Below you will find a detailed account of the changes between
-      PostgreSQL 13 and the previous major
-      release.
-    
+     
+       Below you will find a detailed account of the changes between
+       PostgreSQL 13 and the previous major
+       release.
+     
 
    
     Server
 
      
 
-    
-    
-
-    
-     Improve cases where 
-     linkend="ddl-partition-pruning">pruning of partitions can happen
-     (Yuzuko Hosoya, Amit Langote, Álvaro Herrera)
-    
-
-    
-
-    
-    
+      
+
+
+       
+        Improve cases where 
+        linkend="ddl-partition-pruning">pruning of partitions can happen
+        (Yuzuko Hosoya, Amit Langote, Álvaro Herrera)
+       
+      
+
+      
+
+
+      
+       Allow partitionwise
+       joins to happen in more cases (Ashutosh Bapat, Etsuro Fujita,
+       Amit Langote, Tom Lane)
+      
+
+       
+        For example, partitionwise joins can now happen between partitioned
+        tables even when their partition bounds do not match exactly.
+       
+      
+
+      
+
+
+       
+        Allow BEFORE row-level 
+        linkend="triggers">triggers on partitioned tables (Álvaro
+        Herrera)
+       
+
+       
+        These triggers cannot change which partition is the destination.
+       
+      
+
+      
+
+
+       
+        Allow partitioned tables to be logically replicated via 
+        linkend="sql-createpublication">publications (Amit Langote)
+       
+
+       
+        Previously, partitions had to be replicated individually.  Now
+        partitioned tables can be published explicitly causing all partitions
+        to be automatically published.  Addition/removal of partitions from
+        partitioned tables are automatically added/removed from publications.
+        The CREATE
+        PUBLICATION option
+        publish_via_partition_root controls whether changes
+        to partitions are published as their own or their ancestor's.
+       
+      
+
+      
+
+
+       
+        Allow logical replication into partitioned tables on subscribers
+        (Amit Langote)
+       
+
+       
+        Previously, subscribers could only receive rows into non-partitioned
+        tables.
+       
+      
+
+      
+
+
+       
+        Allow ROW values
+        to be used as partitioning expressions (Amit Langote)
+       
+      
 
-    
-     Allow partitionwise
-     joins to happen in more cases (Ashutosh Bapat, Etsuro Fujita,
-     Amit Langote, Tom Lane)
-    
+     
 
-    
-     For example, partitionwise joins can now happen between partitioned
-     tables even when their partition bounds do not match exactly.
-    
-    
+    
 
-    
-    
+    
+     Indexes
 
-    
-     Allow BEFORE row-level 
-     linkend="triggers">triggers on partitioned tables (Álvaro
-     Herrera)
-    
+     
 
-    
-     These triggers cannot change which partition is the destination.
-    
+      
+
+
+       
+        More efficiently store 
+        linkend="btree-deduplication">duplicates in btree indexes
+        (Anastasia Lubennikova, Peter Geoghegan)
+       
+
+       
+        This allows efficient btree indexing of low cardinality columns
+        by storing duplicate keys only once.  Users upgrading with 
+        linkend="pgupgrade">pg_upgrade
+        will need to use 
+        linkend="sql-reindex">REINDEX to make use
+        of this feature.
+       
+      
+
+      
+
+
+       
+        Allow GiST and 
+        linkend="spgist">SP-GiST indexes for 
+        linkend="datatype-line">box/point distance lookups (Nikita
+        Glukhov)
+       
+      
+
+      
+
+
+       
+        Allow GIN indexes to
+        more efficiently handle NOT restrictions (Nikita
+        Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud)
+       
+      
+
+      
+
+
+       
+        Allow index operator classes
+        to take parameters (Nikita Glukhov)
+       
+      
+
+      
+
+
+       
+        Allow CREATE INDEX to specify the GiST signature
+        length and maximum number of integer ranges (Nikita Glukhov)
+       
+
+       
+        Indexes created on four and eight-byte integer
+        array, tsvector,
+        , and 
+        linkend="hstore"/> columns can now control these GiST index parameters,
+        rather than using the defaults.
+       
+      
+
+      
+
+
+       
+        Prevent indexes that use non-default collations from being 
+        linkend="sql-altertable">added as a table's unique or primary
+        key constraint (Tom Lane)
+       
+
+       
+        The index and column collations must now match so the index's
+        uniqueness matches the column's uniqueness.
+       
+      
 
-    
 
-    
-    
+     
 
-    
-     Allow partitioned tables to be logically replicated via 
-     linkend="sql-createpublication">publications (Amit Langote)
-    
+    
 
-    
-     Previously, partitions had to be replicated individually.  Now
-     partitioned tables can be published explicitly causing all partitions
-     to be automatically published.  Addition/removal of partitions from
-     partitioned tables are automatically added/removed from publications.
-     The CREATE
-     PUBLICATION option
-     publish_via_partition_root controls whether changes
-     to partitions are published as their own or their ancestor's.
-    
+    
+     Optimizer
 
-    >
+     >
 
-    
-    
+      
+
+
+       
+        Improve the optimizer's 
+        linkend="planner-stats-details">selectivity estimation for
+        containment/match operators (Tom Lane)
+       
+      
+
+      
+
+
+       
+        Allow setting statistics target
+        for extended statistics
+        (Tomas Vondra)
+       
+
+       
+        This is controlled with the new command option ALTER
+        STATISTICS ... SET STATISTICS.  Previously this was computed
+        based on more general statistics target settings.
+       
+      
+
+      
+
+
+       
+        Allow use of multiple extended statistics objects in a single query
+        (Tomas Vondra)
+       
+      
+
+      
+
+
+       
+        Allow use of extended statistics objects for OR clauses and 
+        linkend="functions-subquery">IN/ANY constant
+        lists (Pierre Ducroquet, Tomas Vondra)
+       
+      
+
+      
+
+
+       
+        Allow functions in FROM clauses to be moved to their
+        reference sites if they evaluate to constants (Alexander Kuzmenkov,
+        Aleksandr Parfenov)
+       
+      
 
-    
-     Allow logical replication into partitioned tables on subscribers
-     (Amit Langote)
-    
+     
 
-    
-     Previously, subscribers could only receive rows into non-partitioned
-     tables.
-    
-    
+    
 
-    
-    
+    
+     General Performance
 
-    
-     Allow ROW values
-     to be used as partitioning expressions (Amit Langote)
-    
+     
 
-    
+      
+
+
+       
+        Implement incremental
+        sorting (James Coleman, Alexander Korotkov, Tomas Vondra)
+       
+
+       
+        If a result is already sorted by several leading keys, this
+        allows for batch sorting of additional trailing keys because the
+        previous keys are already equal.  This is controlled by 
+        linkend="guc-enable-incrementalsort"/>.
+       
+      
+
+      
+
+
+       
+        Improve the performance of sorting 
+        linkend="datatype-inet">inet values (Brandur Leach)
+       
+      
+
+      
+
+
+       
+        Allow hash aggregation
+        to use disk storage for large aggregation result sets (Jeff Davis)
+       
+
+       
+        Previously, hash aggregation was avoided if it was expected to use
+        more than  memory.  This is controlled
+        by .
+       
+      
+
+      
+
+
+       
+        Allow grouping sets to
+        use hash aggregation with disk storage for large grouping set results
+        (Jeff Davis)
+       
+
+       
+        Previously, hash aggregation was avoided if it was expected to use
+        more than  memory.  This is controlled
+        by .
+       
+      
+
+      
+
+
+       
+        Allow inserts to trigger autovacuum
+        activity (Laurenz Albe, Darafei Praliaskouski)
+       
+
+       
+        This new behavior reduces the work necessary when the table needs to
+        be frozen and allows pages to be set as all-visible.  All-visible pages
+        allow index-only scans to access fewer heap rows.
+       
+      
+
+      
+
+
+       
+        Add  to control I/O
+        concurrency for maintenance operations (Thomas Munro)
+       
+      
+
+      
+
+
+       
+        Allow skipping of WAL for 
+        linkend="guc-full-page-writes">full table writes if 
+        linkend="guc-wal-level"/> is minimal (Kyotaro
+        Horiguchi)
+       
+
+       
+        Relations larger than 
+        will have their files fsync'ed rather than generating
+        WAL.  Previously this was done only for
+        COPY operations, but the implementation had a bug
+        that could cause data loss during crash recovery.
+       
+      
+
+      
+
+
+       
+        Enable Unix-domain sockets
+        support on Windows (Peter Eisentraut)
+       
+      
+
+      
+
+
+       
+        Improve the performance when replaying 
+        linkend="sql-dropdatabase">DROP DATABASE
+        commands when many tablespaces are in use (Fujii Masao)
+       
+      
+
+      
+
+
+       
+        Improve performance for truncation
+        of very large relations (Kirk Jamison)
+       
+      
+
+      
+
+
+       
+        Improve speed of 
+        linkend="storage-toast">TOAST decompression
+        and the retrieval of only the leading bytes of TOAST
+        values (Binguo Bao, Andrey Borodin)
+       
+
+       
+        Previously, TOAST values were fully fetched and
+        only the requested leading bytes were decompressed and returned.
+        Now, only the requested bytes are fetched.
+       
+      
+
+      
+
+
+       
+        Improve performance of 
+        linkend="sql-listen">LISTEN/NOTIFY
+        (Martijn van Oosterhout)
+       
+      
+
+      
+
+
+       
+        Improve the efficiency of removing duplicate 
+        linkend="sql-notify">NOTIFY events (Tom Lane)
+       
+      
+
+      
+
+
+       
+        Use lookup tables to speed up integer to text conversion (David Fetter)
+       
+      
+
+      
+
+
+       
+        Reduce memory usage for query strings that contain multiple
+        SQL statements (Amit Langote)
+       
+      
 
      
 
     
 
     
-     <span class="marked">Indexes</span>
+     <span class="marked">Monitoring</span>
 
      
 
-    
-    
-
-    
-     More efficiently store 
-     linkend="btree-deduplication">duplicates in btree indexes
-     (Anastasia Lubennikova, Peter Geoghegan)
-    
+      
+
+
+       
+        Allow EXPLAIN,
+        
+        linkend="autovacuum">autovacuum, and 
+        linkend="pgstatstatements"/> to track WAL usage
+        statistics (Kirill Bychik, Julien Rouhaud)
+       
+      
+
+      
+
+
+       
+        Allow a sample of statements to be logged (Adrien Nayrat)
+       
+
+       
+        A  ratio of statements
+        taking over  duration
+        will be logged.
+       
+      
+
+      
+
+
+       
+        Add the backend type to 
+        linkend="runtime-config-logging">csvlog and optionally 
+        linkend="guc-log-line-prefix"/> log output (Peter Eisentraut)
+       
+      
+
+      
+
+
+       
+        Improve control of prepared statement parameter logging (Alexey
+        Bashtanov, Álvaro Herrera)
+       
+
+       
+        The GUC setting 
+        linkend="guc-log-parameter-max-length"/> controls the maximum length
+        of parameter values output during statement non-error logging, and
+         does the
+        same for error statement logging.  Previously, prepared statement
+        parameters were not logged during errors.
+       
+      
+
+      
+
+
+       
+        Make vacuum buffer counters 64-bits
+        wide to avoid overflow (Álvaro Herrera)
+       
+      
+
+      
+
+
+       
+        Allow function call backtraces of errors to be logged (Peter
+        Eisentraut, Álvaro Herrera)
+       
+
+       
+        Server variable  specifies
+        which C functions should generate backtraces on error.
+       
+      
+
+      
+
+
+       
+        Add min() and
+        max() aggregates for 
+        linkend="datatype-pg-lsn">pg_lsn (Fabrízio
+        de Royes Mello)
+       
+
+       
+        This is useful for monitoring queries.
+       
+      
 
-    
-     This allows efficient btree indexing of low cardinality columns
-     by storing duplicate keys only once.  Users upgrading with 
-     linkend="pgupgrade">pg_upgrade
-     will need to use 
-     linkend="sql-reindex">REINDEX to make use
-     of this feature.
-    
+     
 
-    listitem>
+    sect4>
 
-    
-    
+    
+     System Views
 
-    
-     Allow GiST and 
-     linkend="spgist">SP-GiST indexes for 
-     linkend="datatype-line">box/point distance lookups (Nikita
-     Glukhov)
-    
+     
 
-    
+      
+
+
+       
+        Add leader_pid to 
+        linkend="pg-stat-activity-view"/> to report parallel worker ownership
+        (Julien Rouhaud)
+       
+      
+
+      
+
+
+       
+        Add system view 
+        linkend="basebackup-progress-reporting">pg_stat_progress_basebackup
+        to report the progress of streaming base backups (Fujii Masao)
+       
+      
+
+      
+
+
+       
+        Add system view 
+        linkend="monitoring-stats-dynamic-views-table">pg_stat_progress_analyze
+        to report analyze progress
+        (Álvaro Herrera, Tatsuro Yamada, Vinayak Pokale)
+       
+      
+
+      
+
+
+       
+        Add columns to the 
+        linkend="monitoring-stats-dynamic-views-table">pg_stat_replication
+        system view to report how much logical decoding information has been
+        spilled to disk (Tomas Vondra)
+       
+      
+
+      
+
+
+       
+        Add system view 
+        linkend="view-pg-shmem-allocations">pg_shmem_allocations
+        to display shared memory usage (Andres Freund, Robert Haas)
+       
+      
+
+      
+
+
+       
+        Create 
+        linkend="monitoring-stats-views-table">pg_stat_slru
+        system view to monitor internal SLRU caches
+        (Tomas Vondra)
+       
+      
+
+      
+
+
+       
+        Allow  to be set up
+        to 1MB (Vyacheslav Makarov)
+       
+
+       
+        The previous maximum was 100kB.
+       
+      
 
-    
-    
+     
 
-    
-     Allow GIN indexes to
-     more efficiently handle NOT restrictions (Nikita
-     Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud)
-    
+    
 
-    
+    
+     <link linkend="wait-event-table">Wait Events</link>
 
-    
-    
+     
 
-    
-     Allow index operator classes
-     to take parameters (Nikita Glukhov)
-    
+      
+
+
+       
+        Add wait event for posix_fallocate() (Thomas
+        Munro)
+       
+      
+
+      
+
+
+       
+        Add wait event VacuumDelay to report on cost-based vacuum delay
+        (Justin Pryzby)
+       
+      
+
+      
+
+
+       
+        Add wait events for WAL archive and recovery pause
+        (Fujii Masao)
+       
+
+       
+        The new events are BackupWaitWalArchive and RecoveryPause.
+       
+      
+
+      
+
+
+       
+        Add  wait events RecoveryConflictSnapshot and
+        RecoveryConflictTablespace to monitor recovery conflicts (Masahiko
+        Sawada)
+       
+      
+
+      
+
+
+       
+        Improve performance of wait events on BSD-based
+        systems (Thomas Munro)
+       
+      
 
-    >
+     >
 
-    
-    
+    
 
-    
-     Allow CREATE INDEX to specify the GiST signature
-     length and maximum number of integer ranges (Nikita Glukhov)
-    
+    
+     <acronym>Authentication</acronym>
 
-    
-     Indexes created on four and eight-byte integer
-     array, tsvector,
-     , and 
-     linkend="hstore"/> columns can now control these GiST index parameters,
-     rather than using the defaults.
-    
+     
 
-    
+      
+
+
+       
+        Only allow superusers to view the 
+        linkend="guc-ssl-passphrase-command"/> setting (Insung Moon)
+       
+
+       
+        This was changed as a security precaution.
+       
+      
+
+      
+
+
+       
+        Change the default minimum TLS version from 1.0
+        to 1.2 (Peter Eisentraut)
+       
+
+       
+        This is controlled by .
+       
+      
 
-    
-    
+     
 
-    
-     Prevent indexes that use non-default collations from being 
-     linkend="sql-altertable">added as a table's unique or primary
-     key constraint (Tom Lane)
-    
+    
 
-    
-     The index and column collations must now match so the index's
-     uniqueness matches the column's uniqueness.
-    
+    
+     Server Configuration
 
-    >
+     >
 
+      
+
+
+       
+        Tighten rules on which utility commands are possible in 
+        linkend="guc-default-transaction-read-only"/> mode (Robert Haas)
+       
+
+       
+        This also increases the number of utility commands that can run in
+        parallel queries.
+       
+      
+
+      
+
+
+       
+        Allow  to be changed
+        after server start (Peter Eisentraut)
+       
+      
+
+      
+
+
+       
+        Disallow non-superusers from modifying system tables when 
+        linkend="guc-allow-system-table-mods"/> is set (Peter Eisentraut)
+       
+
+       
+        Previously, if 
+        was set at server start, non-superusers could issue
+        INSERT/UPDATE/DELETE
+        commands on system tables.
+       
+      
 
      
 
     
 
-    
-     Optimizer
+   
 
-     
+   
+    Streaming Replication and Recovery
 
-    
-    
+    
 
-    
-     Improve the optimizer's 
-     linkend="planner-stats-details">selectivity estimation for
-     containment/match operators (Tom Lane)
-    
+     
+
+
+      
+       Allow streaming replication configuration settings to be changed by
+       reload (Sergei Kornilov)
+      
+
+      
+       Previously, a server restart was required to change
+        and 
+       linkend="guc-primary-slot-name"/>.
+      
+     
+
+     
+
+
+      
+       Allow WAL receivers use a temporary replication slot
+       if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov)
+      
+
+      
+       This behavior can be enabled using 
+       linkend="guc-wal-receiver-create-temp-slot"/>.
+      
+     
+
+     
+
+
+      
+       Allow replication slot storage to be limited by 
+       linkend="guc-max-slot-wal-keep-size"/> (Kyotaro Horiguchi)
+      
+
+      
+       Replication slots that exceed this value are invalidated.
+      
+     
+
+     
+
+
+      
+       Allow standby promotion
+       to cancel any requested pause (Fujii Masao)
+      
+
+      
+       Previously, promotion could not happen while the standby was in
+       paused state.
+      
+     
+
+     
+
+
+      
+       Generate an error if recovery does not reach the specified 
+       linkend="runtime-config-wal-recovery-target">recovery target
+       (Leif Gunnar Erlandsen, Peter Eisentraut)
+      
+
+      
+       Previously, the end of the WAL would promote the
+       standby, even if the target was not reached.
+      
+     
+
+     
+
+
+      
+       Allow control over how much memory is used by logical decoding before
+       it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila)
+      
+
+      
+       This is controlled by .
+      
+     
+
+     
+
+
+      
+       Allow WAL recovery to continue even if invalid
+       pages are referenced (Fujii Masao)
+      
+
+      
+       This is enabled using .
+      
+     
 
-    listitem>
+    itemizedlist>
 
-    
-    
+   
 
-    
-     Allow setting statistics target
-     for extended statistics
-     (Tomas Vondra)
-    
+   
+    Utility Commands
 
-    
-     This is controlled with the new command option ALTER
-     STATISTICS ... SET STATISTICS.  Previously this was computed
-     based on more general statistics target settings.
-    
+    
 
-    
+     
+
+
+      
+       Allow VACUUM
+       to process indexes in parallel (Masahiko Sawada, Amit Kapila)
+      
+
+      
+       The new PARALLEL option controls this.
+      
+     
+
+     
+
+
+      
+       Allow FETCH FIRST
+       to use WITH TIES to return any additional rows
+       that match the last result row (Surafel Temesgen)
+      
+     
+
+     
+
+
+      
+       Report planning-time buffer usage in 
+       linkend="sql-explain">EXPLAIN's
+       BUFFER output (Julien Rouhaud)
+      
+     
+
+     
+
+
+      
+       Have CREATE TABLE
+       LIKE propagate CHECK's NO
+       INHERIT property to created tables (Ildar Musin, Chris
+       Travers)
+      
+     
+
+     
+
+
+      
+       When using LOCK
+       TABLE on a partitioned table, do not check permissions
+       on the child tables (Amit Langote)
+      
+     
+
+     
+
+
+      
+       Allow OVERRIDING USER
+       VALUE on inserts into identity columns (Dean Rasheed)
+      
+     
+
+     
+
+
+      
+       Add ALTER
+       TABLE clause DROP EXPRESSION
+       to remove generated properties from columns (Peter Eisentraut)
+      
+     
+
+     
+
+
+      
+       Fix bugs in ALTER TABLE when later clauses overlap
+       changes made by earlier clauses in the same command (Tom Lane)
+      
+     
+
+     
+
+
+      
+       Add ALTER VIEW
+       syntax to rename view columns (Fujii Masao)
+      
+
+      
+       This was previously possible only using ALTER TABLE RENAME
+       COLUMN.
+      
+     
+
+     
+
+
+      
+       Add ALTER TYPE
+       options useful for extensions, like TOAST and I/O
+       functions control (Tomas Vondra, Tom Lane)
+      
+     
+
+     
+
+
+      
+       Add CREATE
+       DATABASE LOCALE option (Peter
+       Eisentraut)
+      
+
+      
+       This combines existing options LC_COLLATE and
+       LC_CTYPE into a single option.
+      
+     
+
+     
+
+
+      
+       Allow DROP
+       DATABASE to disconnect users so drop succeeds (Pavel
+       Stehule, Amit Kapila)
+      
+
+      
+       This is enabled by WITH FORCE.
+      
+     
+
+     
+
+
+      
+       Add C structure member 
+       linkend="trigger-interface">tg_updatedcols
+       to record updated columns to C triggers (Peter Eisentraut)
+      
+     
+
+     
+
+
+      
+       Add FOREIGN to ALTER statements,
+       if appropriate (Luis Carril)
+      
+
+      
+       WHAT IS THIS ABOUT?
+      
+     
 
-    
-    
+    
 
-    
-     Allow use of multiple extended statistics objects in a single query
-     (Tomas Vondra)
-    
+   
 
-    
+   
+    Data Types
 
-    
-    
+    
 
-    
-     Allow use of extended statistics objects for OR clauses and 
-     linkend="functions-subquery">IN/ANY constant
-     lists (Pierre Ducroquet, Tomas Vondra)
-    
+     
+
+
+      
+       Add polymorphic data types for use by functions requiring compatible
+       arguments (Pavel Stehule)
+      
+
+      
+       The new data types are 
+       linkend="datatype-pseudotypes-table">anycompatible,
+       anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.
+      
+     
+
+     
+
+
+      
+       Add SQL data type 
+       linkend="datatype-oid">xid8 to expose FullTransactionId
+       (Thomas Munro)
+      
+
+      
+       The xid data type is only four bytes so does not show the transaction
+       epoch.
+      
+     
+
+     
+
+
+      
+       Add data type regcollation and
+       helper functions for system collations (Julien Rouhaud)
+      
+     
+
+     
+
+
+      
+       Use the glibc version in some cases as the 
+       linkend="collation">collation version (Thomas Munro)
+      
+
+      
+       If the glibc version changes, a warning will be issued when a
+       mismatching collation is used.
+      
+     
+
+     
+
+
+      
+       Add support for collation versions on Windows (Thomas Munro)
+      
+     
+
+     
+
+
+      
+       Allow ROW values
+       values to have their members extracted with suffix notation (Tom Lane)
+      
+
+      
+       For example, (ROW(4, 5.0)).f1 returns 4.
+      
+     
 
-    listitem>
+    itemizedlist>
 
-    
-    
+   
 
-    
-     Allow functions in FROM clauses to be moved to their
-     reference sites if they evaluate to constants (Alexander Kuzmenkov,
-     Aleksandr Parfenov)
-    
+   
+    Functions
 
-    </listitem>
+    <itemizedlist>
 
+     
+
+
+      
+       Add alternate version of 
+       linkend="functions-json-processing-table">jsonb_setI()
+       with special NULL handling (Andrew Dunstan)
+      
+
+      
+       The new function, jsonb_set_lax(), allows null
+       new values to either set the specified key to JSON
+       null, delete the key, raise exception, or ignore the operation.
+       IS 'return_target' CLEAR?
+      
+     
+
+     
+
+
+      
+       Add jsonpath 
+       linkend="functions-sqljson-path-operators">.datetime()
+       method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander
+       Korotkov)
+      
+
+      
+       This allows json values to be converted to timestamps, which can
+       then be processed in jsonpath expressions.  This also adds jsonpath
+       functions that support time zone-aware output.
+      
+     
+
+     
+
+
+      
+       Add SQL functions 
+       linkend="functions-string-sql">NORMALIZE()
+       to normalize Unicode strings, and 
+       linkend="collation-nondeterministic">IS
+       NORMALIZED to check for normalization (Peter
+       Eisentraut)
+      
+     
+
+     
+
+
+      
+       Allow Unicode
+       escapes, e.g., E'\u####', U&'\####', to specify any
+       character available in the database encoding, even when the database
+       encoding is not UTF-8 (Tom Lane)
+      
+
+      
+       The Unicode characters must be available in the database encoding.
+      
+     
+
+     
+
+
+      
+       Allow 
+       linkend="functions-formatting">to_date()
+       and to_timestamp() to recognize non-English
+       month/day names (Juan José Santamaría Flecha, Tom Lane)
+      
+
+      
+       The names recognized are the same as those output by 
+       linkend="functions-formatting">to_char()
+       with the same format codes.
+      
+     
+
+     
+
+
+      
+       Add format specifications FF1-FF6 to control display of 1-6 subsecond
+       digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg
+       Bartunov)
+      
+
+      
+       These patterns can be used by to_char(),
+       to_timestamp(), and jsonpath's
+       .datetime().
+      
+     
+
+     
+
+
+      
+       Add SSSSS time format specification as an
+       SQL standard alias for SSSS
+       (Nikita Glukhov, Alexander Korotkov)
+      
+     
+
+     
+
+
+      
+       Add function 
+       linkend="functions-uuid">gen_random_uuid()
+       to generate version 4 UUIDs (Peter Eisentraut)
+      
+
+      
+       Previously UUID generation functions were only
+       available external modules  or 
+       linkend="pgcrypto"/> were installed.
+      
+     
+
+     
+
+
+      
+       Add greatest-common-denominator (
+       linkend="functions-math-func-table">gcd) and
+       least-common-multiple (lcm) functions (Vik Fearing)
+      
+     
+
+     
+
+
+      
+       Improve the performance and accuracy of 
+       linkend="functions-math-func-table">square root and natural log
+       (ln) output (Dean Rasheed)
+      
+     
+
+     
+
+
+      
+       Add function 
+       linkend="functions-math-func-table">min_scale()
+       that returns the number of digits to the right the decimal point
+       that is required to represent the numeric value with full precision
+       (Pavel Stehule)
+      
+     
+
+     
+
+
+      
+       Add function 
+       linkend="functions-math-func-table">trim_scale()
+       to reduce the scale of a number by removing trailing zeros (Pavel
+       Stehule)
+      
+     
+
+     
+
+
+      
+       Add commutators of distance
+       operators (Nikita Glukhov)
+      
+
+      
+       For example, previously only point <-> line was supported,
+       now line <-> point works too.
+      
+     
+
+     
+
+
+      
+       Create xid8 versions of all 
+       linkend="functions-pg-snapshot">transaction id functions
+       (Thomas Munro)
+      
+
+      
+       The old function names were kept for backward compatibility.  DO WE
+       HAVE NEW NAMES?
+      
+     
+
+     
+
+
+      
+       Allow 
+       linkend="functions-binarystring-other">get_bit()
+       and set_bit() to set bits beyond 256MB of bytea
+       data (Movead Li)
+      
+     
+
+     
+
+
+      
+       Allow advisory-lock
+       functions to be used in some parallel operations (Tom Lane)
+      
+     
+
+     
+
+
+      
+       Add the ability to remove an object's dependency on an extension
+       (Álvaro Herrera)
+      
+
+      
+       The object can be a function, materialized view, index, or trigger.
+       The syntax is ALTER .. NO DEPENDS ON.
+      
+     
 
-     
 
-    sect4>
+    itemizedlist>
 
-    
-     General Performance
+   
 
-     
+   
+    <link linkend="plpgsql">PL/pgSQL</link>
 
-    
-    
+    
 
-    
-     Implement incremental
-     sorting (James Coleman, Alexander Korotkov, Tomas Vondra)
-    
+     
+
+
+      
+       Improve performance of simple PL/pgSQL expressions (Tom Lane,
+       Amit Langote)
+      
+     
+
+     
+
+
+      
+       Improve the performance of PL/pgSQL functions that use immutable
+       expressions (Konstantin Knizhnik)
+      
+     
 
-    
-     If a result is already sorted by several leading keys, this
-     allows for batch sorting of additional trailing keys because the
-     previous keys are already equal.  This is controlled by 
-     linkend="guc-enable-incrementalsort"/>.
-    
+    
 
-    >
+   >
 
-    
-    
+   
+    Client Interfaces
 
-    
-     Improve the performance of sorting 
-     linkend="datatype-inet">inet values (Brandur Leach)
-    
+    
 
-    
+     
+
+
+      
+       Allow libpq clients to require channel binding (Jeff Davis)
+      
+
+      
+       Using the libpq connection parameter 
+       linkend="libpq-connect-channel-binding">channel_binding
+       forces the other end of the TLS connection to prove
+       it knows the user's password.  This prevents man-in-the-middle attacks.
+      
+     
+
+     
+
+
+      
+       Add libpq connection parameters to control the min/max
+       TLS version (Daniel Gustafsson)
+      
+
+      
+       The settings are 
+       linkend="libpq-connect-ssl-min-protocol-version"/> and 
+       linkend="libpq-connect-ssl-max-protocol-version"/>.
+      
+     
+
+     
+
+
+      
+       Tighten line length and comment detection in 
+       linkend="libpq-pgpass">.pgpass files (Fujii Masao)
+      
+     
+
+     
+
+
+      
+       Allow specification of passwords to unlock client certificates (Craig
+       Ringer, Andrew Dunstan)
+      
+
+      
+       This is specified by the 
+       connection option.
+      
+     
+
+     
+
+
+      
+       Allow DER-encoded client certificates (Craig Ringer,
+       Andrew Dunstan)
+      
+     
 
-    
-    
+    
 
-    
-     Allow hash aggregation
-     to use disk storage for large aggregation result sets (Jeff Davis)
-    
+   
 
-    
-     Previously, hash aggregation was avoided if it was expected to use
-     more than  memory.  This is controlled
-     by .
-    
+   
+    Client Applications
 
-    
+    
+     <xref linkend="app-psql"/>
 
-    
-    
+     
 
-    
-     Allow grouping sets to
-     use hash aggregation with disk storage for large grouping set results
-     (Jeff Davis)
-    
+      
+
+
+       
+        Add the transaction status (%x) to the default 
+        linkend="app-psql-prompting">psql
+        prompts (Vik Fearing)
+       
+      
+
+      
+
+
+       
+        Allow the secondary psql prompt to be same
+        number of spaces as the primary prompt (Thomas Munro)
+       
+
+       
+        This is accomplished by setting PROMPT2 to %w.
+       
+      
+
+      
+
+
+       
+        Allow \g and \gx to
+        change any \pset output
+        options for a single command (Tom Lane)
+       
+
+       
+        This allows syntax like \g (expand=on), which is equivalent to \gx.
+       
+      
+
+      
+
+
+       
+        Add psql commands to report operator
+        classes and operator families (Sergey Cherkashin, Nikita Glukhov,
+        Alexander Korotkov)
+       
+
+       
+        The new commands are 
+        linkend="app-psql-meta-commands">\dAc, \dAf, \dAo, and \dAp.
+       
+      
+
+      
+
+
+       
+        Show table persistence in psql's 
+        linkend="app-psql-meta-commands">\dt+ and related commands
+        (David Fetter)
+       
+
+       
+        In verbose mode, the table/index/view shows if the object is permanent,
+        temporary, or unlogged.
+       
+      
+
+      
+
+
+       
+        Improve output of psql 
+        linkend="app-psql-meta-commands">\d for TOAST
+        tables (Justin Pryzby)
+       
+      
+
+      
+
+
+       
+        Adjust display of psql's 
+        linkend="app-psql-meta-commands">\e query (Tom Lane)
+       
+
+       
+        When exiting the editor, if the query doesn't end with a semicolon
+        or \g, the query buffer contents will now be displayed.
+       
+      
+
+      
+
+
+       
+        Add \warn command to
+        psql (David Fetter)
+       
+
+       
+        This is like \echo except that the text is sent to stderr instead
+        of stdout.
+       
+      
+
+      
+
+
+       
+        Add the PostgreSQL home page to command-line
+         output (Peter Eisentraut)
+       
+      
 
-    
-     Previously, hash aggregation was avoided if it was expected to use
-     more than  memory.  This is controlled
-     by .
-    
+     
 
-    listitem>
+    sect4>
 
-    
-    
+    
+     <link linkend="pgbench"><application>pgbench</application></link>
 
-    
-     Allow inserts to trigger autovacuum
-     activity (Laurenz Albe, Darafei Praliaskouski)
-    
-
-    
-     This new behavior reduces the work necessary when the table needs to
-     be frozen and allows pages to be set as all-visible.  All-visible pages
-     allow index-only scans to access fewer heap rows.
-    
-
-    
-
-    
-    
-
-    
-     Add  to control I/O
-     concurrency for maintenance operations (Thomas Munro)
-    
-
-    
-
-    
-    
-
-    
-     Allow skipping of WAL for 
-     linkend="guc-full-page-writes">full table writes if 
-     linkend="guc-wal-level"/> is minimal (Kyotaro
-     Horiguchi)
-    
-
-    
-     Relations larger than 
-     will have their files fsync'ed rather than generating
-     WAL.  Previously this was done only for
-     COPY operations, but the implementation had a bug
-     that could cause data loss during crash recovery.
-    
-
-    
-
-    
-    
-
-    
-     Enable Unix-domain sockets
-     support on Windows (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Improve the performance when replaying 
-     linkend="sql-dropdatabase">DROP DATABASE
-     commands when many tablespaces are in use (Fujii Masao)
-    
-
-    
-
-    
-    
-
-    
-     Improve performance for truncation
-     of very large relations (Kirk Jamison)
-    
-
-    
-
-    
-    
-
-    
-     Improve speed of 
-     linkend="storage-toast">TOAST decompression
-     and the retrieval of only the leading bytes of TOAST
-     values (Binguo Bao, Andrey Borodin)
-    
-
-    
-     Previously, TOAST values were fully fetched and
-     only the requested leading bytes were decompressed and returned.
-     Now, only the requested bytes are fetched.
-    
-
-    
-
-    
-    
-
-    
-     Improve performance of 
-     linkend="sql-listen">LISTEN/NOTIFY
-     (Martijn van Oosterhout)
-    
-
-    
-
-    
-    
-
-    
-     Improve the efficiency of removing duplicate 
-     linkend="sql-notify">NOTIFY events (Tom Lane)
-    
-
-    
-
-    
-    
-
-    
-     Use lookup tables to speed up integer to text conversion (David Fetter)
-    
-
-    
-
-    
-    
-
-    
-     Reduce memory usage for query strings that contain multiple
-     SQL statements (Amit Langote)
-    
-
-    
-
-
-     
-
-    
-
-    
-     Monitoring
-
-     
-
-    
-    
-
-    
-     Allow EXPLAIN,
-     
-     linkend="autovacuum">autovacuum, and 
-     linkend="pgstatstatements"/> to track WAL usage
-     statistics (Kirill Bychik, Julien Rouhaud)
-    
-
-    
-
-    
-    
-
-    
-     Allow a sample of statements to be logged (Adrien Nayrat)
-    
-
-    
-     A  ratio of statements
-     taking over  duration
-     will be logged.
-    
-
-    
-
-    
-    
-
-    
-     Add the backend type to 
-     linkend="runtime-config-logging">csvlog and optionally 
-     linkend="guc-log-line-prefix"/> log output (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Improve control of prepared statement parameter logging (Alexey
-     Bashtanov, Álvaro Herrera)
-    
-
-    
-     The GUC setting 
-     linkend="guc-log-parameter-max-length"/> controls the maximum length
-     of parameter values output during statement non-error logging, and
-      does the
-     same for error statement logging.  Previously, prepared statement
-     parameters were not logged during errors.
-    
-
-    
-
-    
-    
-
-    
-     Make vacuum buffer counters 64-bits
-     wide to avoid overflow (Álvaro Herrera)
-    
-
-    
-
-    
-    
-
-    
-     Allow function call backtraces of errors to be logged (Peter
-     Eisentraut, Álvaro Herrera)
-    
-
-    
-     Server variable  specifies
-     which C functions should generate backtraces on error.
-    
-
-    
-
-    
-    
-
-    
-     Add min() and
-     max() aggregates for 
-     linkend="datatype-pg-lsn">pg_lsn (Fabrízio
-     de Royes Mello)
-    
-
-    
-     This is useful for monitoring queries.
-    
-
-    
-
-     
-
-    
-
-    
-     System Views
-
-     
-
-    
-    
-
-    
-     Add leader_pid to 
-     linkend="pg-stat-activity-view"/> to report parallel worker ownership
-     (Julien Rouhaud)
-    
-
-    
-
-    
-    
-
-    
-     Add system view 
-     linkend="basebackup-progress-reporting">pg_stat_progress_basebackup
-     to report the progress of streaming base backups (Fujii Masao)
-    
-
-    
-
-    
-    
-
-    
-     Add system view 
-     linkend="monitoring-stats-dynamic-views-table">pg_stat_progress_analyze
-     to report analyze progress
-     (Álvaro Herrera, Tatsuro Yamada, Vinayak Pokale)
-    
-
-    
-
-    
-    
-
-    
-     Add columns to the 
-     linkend="monitoring-stats-dynamic-views-table">pg_stat_replication
-     system view to report how much logical decoding information has been
-     spilled to disk (Tomas Vondra)
-    
-
-    
-
-    
-    
-
-    
-     Add system view 
-     linkend="view-pg-shmem-allocations">pg_shmem_allocations
-     to display shared memory usage (Andres Freund, Robert Haas)
-    
-
-    
-
-    
-    
-
-    
-     Create 
-     linkend="monitoring-stats-views-table">pg_stat_slru
-     system view to monitor internal SLRU caches
-     (Tomas Vondra)
-    
-
-    
-
-    
-    
-
-    
-     Allow  to be set up
-     to 1MB (Vyacheslav Makarov)
-    
-
-    
-     The previous maximum was 100kB.
-    
-
-    
-
-     
-
-    
-
-    
-     <link linkend="wait-event-table">Wait Events</link>
-
-     
-
-    
-    
-
-    
-     Add wait event for posix_fallocate() (Thomas
-     Munro)
-    
-
-    
-
-    
-    
-
-    
-     Add wait event VacuumDelay to report on cost-based vacuum delay
-     (Justin Pryzby)
-    
-
-    
-
-    
-    
-
-    
-     Add wait events for WAL archive and recovery pause
-     (Fujii Masao)
-    
-
-    
-     The new events are BackupWaitWalArchive and RecoveryPause.
-    
-
-    
-
-    
-    
-
-    
-     Add  wait events RecoveryConflictSnapshot and
-     RecoveryConflictTablespace to monitor recovery conflicts (Masahiko
-     Sawada)
-    
-
-    
-
-    
-    
-
-    
-     Improve performance of wait events on BSD-based
-     systems (Thomas Munro)
-    
-
-    
-
-     
-
-    
-
-    
-     <acronym>Authentication</acronym>
-
-     
-
-    
-    
-
-    
-     Only allow superusers to view the 
-     linkend="guc-ssl-passphrase-command"/> setting (Insung Moon)
-    
-
-    
-     This was changed as a security precaution.
-    
-
-    
-
-    
-    
-
-    
-     Change the default minimum TLS version from 1.0
-     to 1.2 (Peter Eisentraut)
-    
-
-    
-     This is controlled by .
-    
-
-    
-
-
-     
-
-    
-
-    
-     Server Configuration
-
-     
-
-    
-    
-
-    
-     Tighten rules on which utility commands are possible in 
-     linkend="guc-default-transaction-read-only"/> mode (Robert Haas)
-    
-
-    
-     This also increases the number of utility commands that can run in
-     parallel queries.
-    
-
-    
-
-    
-    
-
-    
-     Allow  to be changed
-     after server start (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Disallow non-superusers from modifying system tables when 
-     linkend="guc-allow-system-table-mods"/> is set (Peter Eisentraut)
-    
-
-    
-     Previously, if 
-     was set at server start, non-superusers could issue
-     INSERT/UPDATE/DELETE
-     commands on system tables.
-    
-
-    
-
-
-     
-
-    
-
-   
-
-   
-    Streaming Replication and Recovery
-
-    
-
-    
-    
-
-    
-     Allow streaming replication configuration settings to be changed by
-     reload (Sergei Kornilov)
-    
-
-    
-     Previously, a server restart was required to change
-      and 
-     linkend="guc-primary-slot-name"/>.
-    
-
-    
-
-    
-    
-
-    
-     Allow WAL receivers use a temporary replication slot
-     if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov)
-    
-
-    
-     This behavior can be enabled using 
-     linkend="guc-wal-receiver-create-temp-slot"/>.
-    
-
-    
-
-    
-    
-
-    
-     Allow replication slot storage to be limited by 
-     linkend="guc-max-slot-wal-keep-size"/> (Kyotaro Horiguchi)
-    
-
-    
-     Replication slots that exceed this value are invalidated.
-    
-
-    
-
-    
-    
-
-    
-     Allow standby promotion
-     to cancel any requested pause (Fujii Masao)
-    
-
-    
-     Previously, promotion could not happen while the standby was in
-     paused state.
-    
-
-    
-
-    
-    
-
-    
-     Generate an error if recovery does not reach the specified 
-     linkend="runtime-config-wal-recovery-target">recovery target
-     (Leif Gunnar Erlandsen, Peter Eisentraut)
-    
-
-    
-     Previously, the end of the WAL would promote the
-     standby, even if the target was not reached.
-    
-
-    
-
-    
-    
-
-    
-     Allow control over how much memory is used by logical decoding before
-     it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila)
-    
-
-    
-     This is controlled by .
-    
-
-    
-
-    
-    
-
-    
-     Allow WAL recovery to continue even if invalid
-     pages are referenced (Fujii Masao)
-    
-
-    
-     This is enabled using .
-    
-
-    
-
-    
-
-   
-
-   
-    Utility Commands
-
-    
-
-    
-    
-
-    
-     Allow VACUUM
-     to process indexes in parallel (Masahiko Sawada, Amit Kapila)
-    
-
-    
-     The new PARALLEL option controls this.
-    
-
-    
-
-    
-    
-
-    
-     Allow FETCH FIRST
-     to use WITH TIES to return any additional rows
-     that match the last result row (Surafel Temesgen)
-    
-
-    
-
-    
-    
-
-    
-     Report planning-time buffer usage in 
-     linkend="sql-explain">EXPLAIN's
-     BUFFER output (Julien Rouhaud)
-    
-
-    
-
-    
-    
-
-    
-     Have CREATE TABLE
-     LIKE propagate CHECK's NO
-     INHERIT property to created tables (Ildar Musin, Chris
-     Travers)
-    
-
-    
-
-    
-    
-
-    
-     When using LOCK
-     TABLE on a partitioned table, do not check permissions
-     on the child tables (Amit Langote)
-    
-
-    
-
-    
-    
-
-    
-     Allow OVERRIDING USER
-     VALUE on inserts into identity columns (Dean Rasheed)
-    
-
-    
-
-    
-    
-
-    
-     Add ALTER
-     TABLE clause DROP EXPRESSION
-     to remove generated properties from columns (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Fix bugs in ALTER TABLE when later clauses overlap
-     changes made by earlier clauses in the same command (Tom Lane)
-    
-
-    
-
-    
-    
-
-    
-     Add ALTER VIEW
-     syntax to rename view columns (Fujii Masao)
-    
-
-    
-     This was previously possible only using ALTER TABLE RENAME
-     COLUMN.
-    
-
-    
-
-    
-    
-
-    
-     Add ALTER TYPE
-     options useful for extensions, like TOAST and I/O
-     functions control (Tomas Vondra, Tom Lane)
-    
-
-    
-
-    
-    
-
-    
-     Add CREATE
-     DATABASE LOCALE option (Peter
-     Eisentraut)
-    
-
-    
-     This combines existing options LC_COLLATE and
-     LC_CTYPE into a single option.
-    
-
-    
-
-    
-    
-
-    
-     Allow DROP
-     DATABASE to disconnect users so drop succeeds (Pavel
-     Stehule, Amit Kapila)
-    
-
-    
-     This is enabled by WITH FORCE.
-    
-
-    
-
-    
-    
-
-    
-     Add C structure member 
-     linkend="trigger-interface">tg_updatedcols
-     to record updated columns to C triggers (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Add FOREIGN to ALTER statements,
-     if appropriate (Luis Carril)
-    
-
-    
-     WHAT IS THIS ABOUT?
-    
-
-    
-
-    
-
-   
-
-   
-    Data Types
-
-    
-
-    
-    
-
-    
-     Add polymorphic data types for use by functions requiring compatible
-     arguments (Pavel Stehule)
-    
-
-    
-     The new data types are 
-     linkend="datatype-pseudotypes-table">anycompatible,
-     anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.
-    
-
-    
-
-    
-    
-
-    
-     Add SQL data type 
-     linkend="datatype-oid">xid8 to expose FullTransactionId
-     (Thomas Munro)
-    
-
-    
-     The xid data type is only four bytes so does not show the transaction
-     epoch.
-    
-
-    
-
-    
-    
-
-    
-     Add data type regcollation and
-     helper functions for system collations (Julien Rouhaud)
-    
-
-    
-
-    
-    
-
-    
-     Use the glibc version in some cases as the 
-     linkend="collation">collation version (Thomas Munro)
-    
-
-    
-     If the glibc version changes, a warning will be issued when a
-     mismatching collation is used.
-    
-
-    
-
-    
-    
-
-    
-     Add support for collation versions on Windows (Thomas Munro)
-    
-
-    
-
-    
-    
-
-    
-     Allow ROW values
-     values to have their members extracted with suffix notation (Tom Lane)
-    
-
-    
-     For example, (ROW(4, 5.0)).f1 returns 4.
-    
-
-    
-
-
-    
-
-   
-
-   
-    Functions
-
-    
-
-    
-    
-
-    
-     Add alternate version of 
-     linkend="functions-json-processing-table">jsonb_setI()
-     with special NULL handling (Andrew Dunstan)
-    
-
-    
-     The new function, jsonb_set_lax(), allows null
-     new values to either set the specified key to JSON
-     null, delete the key, raise exception, or ignore the operation.
-     IS 'return_target' CLEAR?
-    
-
-    
-
-    
-    
-
-    
-     Add jsonpath 
-     linkend="functions-sqljson-path-operators">.datetime()
-     method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander
-     Korotkov)
-    
-
-    
-     This allows json values to be converted to timestamps, which can
-     then be processed in jsonpath expressions.  This also adds jsonpath
-     functions that support time zone-aware output.
-    
-
-    
-
-    
-    
-
-    
-     Add SQL functions 
-     linkend="functions-string-sql">NORMALIZE()
-     to normalize Unicode strings, and 
-     linkend="collation-nondeterministic">IS
-     NORMALIZED to check for normalization (Peter
-     Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Allow Unicode
-     escapes, e.g., E'\u####', U&'\####', to specify any
-     character available in the database encoding, even when the database
-     encoding is not UTF-8 (Tom Lane)
-    
-
-    
-     The Unicode characters must be available in the database encoding.
-    
-
-    
-
-    
-    
-
-    
-     Allow 
-     linkend="functions-formatting">to_date()
-     and to_timestamp() to recognize non-English
-     month/day names (Juan José Santamaría Flecha, Tom Lane)
-    
-
-    
-     The names recognized are the same as those output by 
-     linkend="functions-formatting">to_char()
-     with the same format codes.
-    
-
-    
-
-    
-    
-
-    
-     Add format specifications FF1-FF6 to control display of 1-6 subsecond
-     digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg
-     Bartunov)
-    
-
-    
-     These patterns can be used by to_char(),
-     to_timestamp(), and jsonpath's
-     .datetime().
-    
-
-    
-
-    
-    
-
-    
-     Add SSSSS time format specification as an
-     SQL standard alias for SSSS
-     (Nikita Glukhov, Alexander Korotkov)
-    
-
-    
-
-    
-    
-
-    
-     Add function 
-     linkend="functions-uuid">gen_random_uuid()
-     to generate version 4 UUIDs (Peter Eisentraut)
-    
-
-    
-     Previously UUID generation functions were only
-     available external modules  or 
-     linkend="pgcrypto"/> were installed.
-    
-
-    
-
-    
-    
-
-    
-     Add greatest-common-denominator (
-     linkend="functions-math-func-table">gcd) and
-     least-common-multiple (lcm) functions (Vik Fearing)
-    
-
-    
-
-    
-    
-
-    
-     Improve the performance and accuracy of 
-     linkend="functions-math-func-table">square root and natural log
-     (ln) output (Dean Rasheed)
-    
-
-    
-
-    
-    
-
-    
-     Add function 
-     linkend="functions-math-func-table">min_scale()
-     that returns the number of digits to the right the decimal point
-     that is required to represent the numeric value with full precision
-     (Pavel Stehule)
-    
-
-    
-
-    
-    
-
-    
-     Add function 
-     linkend="functions-math-func-table">trim_scale()
-     to reduce the scale of a number by removing trailing zeros (Pavel
-     Stehule)
-    
-
-    
-
-    
-    
-
-    
-     Add commutators of distance
-     operators (Nikita Glukhov)
-    
-
-    
-     For example, previously only point <-> line was supported,
-     now line <-> point works too.
-    
-
-    
-
-    
-    
-
-    
-     Create xid8 versions of all 
-     linkend="functions-pg-snapshot">transaction id functions
-     (Thomas Munro)
-    
-
-    
-     The old function names were kept for backward compatibility.  DO WE
-     HAVE NEW NAMES?
-    
-
-    
-
-    
-    
-
-    
-     Allow 
-     linkend="functions-binarystring-other">get_bit()
-     and set_bit() to set bits beyond 256MB of bytea
-     data (Movead Li)
-    
-
-    
-
-    
-    
-
-    
-     Allow advisory-lock
-     functions to be used in some parallel operations (Tom Lane)
-    
-
-    
-
-    
-    
-
-    
-     Add the ability to remove an object's dependency on an extension
-     (Álvaro Herrera)
-    
-
-    
-     The object can be a function, materialized view, index, or trigger.
-     The syntax is ALTER .. NO DEPENDS ON.
-    
-
-    
-
-
-    
-
-   
-
-   
-    <link linkend="plpgsql">PL/pgSQL</link>
-
-    
-
-    
-    
-
-    
-     Improve performance of simple PL/pgSQL expressions (Tom Lane,
-     Amit Langote)
-    
-
-    
-
-    
-    
-
-    
-     Improve the performance of PL/pgSQL functions that use immutable
-     expressions (Konstantin Knizhnik)
-    
-
-    
-
-
-    
-
-   
-
-   
-    Client Interfaces
-
-    
-
-    
-    
-
-    
-     Allow libpq clients to require channel binding (Jeff Davis)
-    
-
-    
-     Using the libpq connection parameter 
-     linkend="libpq-connect-channel-binding">channel_binding
-     forces the other end of the TLS connection to prove
-     it knows the user's password.  This prevents man-in-the-middle attacks.
-    
-
-    
-
-    
-    
-
-    
-     Add libpq connection parameters to control the min/max
-     TLS version (Daniel Gustafsson)
-    
-
-    
-     The settings are 
-     linkend="libpq-connect-ssl-min-protocol-version"/> and 
-     linkend="libpq-connect-ssl-max-protocol-version"/>.
-    
-
-    
-
-    
-    
-
-    
-     Tighten line length and comment detection in 
-     linkend="libpq-pgpass">.pgpass files (Fujii Masao)
-    
-
-    
-
-    
-    
-
-    
-     Allow specification of passwords to unlock client certificates (Craig
-     Ringer, Andrew Dunstan)
-    
-
-    
-     This is specified by the 
-     connection option.
-    
-
-    
-
-    
-    
-
-    
-     Allow DER-encoded client certificates (Craig Ringer,
-     Andrew Dunstan)
-    
-
-    
-
-
-    
-
-   
-
-   
-    Client Applications
-
-    
-     <xref linkend="app-psql"/>
-
-     
-
-    
-    
-
-    
-     Add the transaction status (%x) to the default 
-     linkend="app-psql-prompting">psql
-     prompts (Vik Fearing)
-    
-
-    
-
-    
-    
-
-    
-     Allow the secondary psql prompt to be same
-     number of spaces as the primary prompt (Thomas Munro)
-    
-
-    
-     This is accomplished by setting PROMPT2 to %w.
-    
-
-    
-
-    
-    
-
-    
-     Allow \g and \gx to
-     change any \pset output
-     options for a single command (Tom Lane)
-    
-
-    
-     This allows syntax like \g (expand=on), which is equivalent to \gx.
-    
-
-    
-
-    
-    
-
-    
-     Add psql commands to report operator
-     classes and operator families (Sergey Cherkashin, Nikita Glukhov,
-     Alexander Korotkov)
-    
-
-    
-     The new commands are 
-     linkend="app-psql-meta-commands">\dAc, \dAf, \dAo, and \dAp.
-    
-    
-
-    
-    
-
-    
-     Show table persistence in psql's 
-     linkend="app-psql-meta-commands">\dt+ and related commands
-     (David Fetter)
-    
-
-    
-     In verbose mode, the table/index/view shows if the object is permanent,
-     temporary, or unlogged.
-    
-
-    
-
-    
-    
-
-    
-     Improve output of psql 
-     linkend="app-psql-meta-commands">\d for TOAST
-     tables (Justin Pryzby)
-    
-
-    
-
-    
-    
-
-    
-     Adjust display of psql's 
-     linkend="app-psql-meta-commands">\e query (Tom Lane)
-    
-
-    
-     When exiting the editor, if the query doesn't end with a semicolon
-     or \g, the query buffer contents will now be displayed.
-    
-
-    
-
-    
-    
-
-    
-     Add \warn command to
-     psql (David Fetter)
-    
-
-    
-     This is like \echo except that the text is sent to stderr instead
-     of stdout.
-    
-
-    
-
-    
-    
-
-    
-     Add the PostgreSQL home page to command-line
-      output (Peter Eisentraut)
-    
-
-    
-
-     
-
-    
-
-    
-     <link linkend="pgbench"><application>pgbench</application></link>
-
-     
-
-    
-    
-
-    
-     Allow pgbench to partition its 'accounts' table (Fabien Coelho)
-    
-
-    
-     This allows performance testing of partitioning.
-    
-
-    
-
-    
-    
-
-    
-     Add pgbench command \aset, which behaves like \gset, but for multiple
-     queries (Fabien Coelho)
-    
-
-    
-
-    
-    
-
-    
-     Allow pgbench to generate its data server-side, rather than client side
-     (Fabien Coelho)
-    
-
-    
-
-    
-    
-
-    
-     Allow pgbench to dump script contents using
-      (Fabien Coelho)
-    
-
-    
-
-     
-
-    
-
-   
-
-   
-    Server Applications
-
-    
-
-    
-    
-
-    
-     Generate backup manifests for base backups, and verify them (Robert
-     Haas)
-    
-
-    
-     A new tool 
-     linkend="app-pgverifybackup">pg_verifybackup"
-     can verify backups.
-    
-
-    
-
-    
-    
-
-    
-     Have 
-     linkend="app-pgbasebackup">pg_basebackup
-     estimate the total backup size by default (Fujii Masao)
-    
-
-    
-     This computation allows 
-     linkend="monitoring-stats-dynamic-views-table">pg_stat_progress_analyze
-     to show progress, and can be disabled by using the
-      option.  Previously, this
-     computation happened only if  was used.
-    
-
-    
-
-    
-    
-
-    
-     Add 
-     linkend="app-pgrewind">pg_rewind
-     option to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal)
-    
-
-    
-     This matches 
-     linkend="app-pgbasebackup">pg_basebackup's
-      option.
-    
-
-    
-
-    
-    
-
-    
-     Allow pg_rewind to use the target
-     cluster's  to retrieve needed
-     WAL (Alexey Kondratov)
-    
-
-    
-     This is enabled using the
-     / option.
-    
-
-    
-
-    
-    
-
-    
-     Have pg_rewind automatically run crash
-     recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal)
-    
-
-    
-     This can be disabled by using .
-    
-
-    
-
-    
-    
-
-    
-     Increase PREPARE
-     TRANSACTION information reported by
-     pg_waldump (Fujii Masao)
-    
-
-    
-
-    
-    
-
-    
-     Add 
-     linkend="pgwaldump">pg_waldump
-     option  to suppress non-error output (Andres
-     Freund, Robert Haas)
-    
-
-    
-
-    
-    
-
-    
-     Allow 
-     linkend="app-pgdump">pg_dump
-      to dump data from foreign
-     servers (Luis Carril)
-    
-
-    
-
-    
-    
-
-    
-     Allow vacuum commands run by 
-     linkend="app-vacuumdb">vacuumdb to operate in parallel mode
-     (Masahiko Sawada)
-    
-
-    
-     This is enabled with the new  option.
-    
-
-    
-
-    
-    
-
-    
-     Allow reindexdb to operate in
-     parallel (Julien Rouhaud)
-    
-
-    
-     Parallel mode is enabled with the new  option.
-    
-
-    
-
-    
-    
-
-    
-     Allow dropdb to force disconnections
-     so the drop succeeds (Pavel Stehule)
-    
-
-    
-     This is enabled with the  option.
-    
-
-    
-
-    
-    
-
-    
-     Remove  and 
-     from createuser (Alexander
-     Lakhin)
-    
-
-    
-     The long-supported options for this are called
-      and .
-    
-
-    
-
-    
-    
-
-    
-     Use the directory of the 
-     linkend="pgupgrade">pg_upgrade
-     binary as the default new 'bindir' location when running
-     pg_upgrade (Daniel Gustafsson)
-    
-
-    
-
-    
-
-   
-
-   
-    Documentation
-
-    
-
-    
-    
-
-    
-     Add a glossary to the documentation
-     (Corey Huinker, Jürgen Purtz, Roger Harkavy, Álvaro
-     Herrera)
-    
-
-    
-
-    
-    
-
-    
-     Reformat tables containing function
-     information for better clarity (Tom Lane)
-    
-
-    
-
-    
-    
-
-    
-     Upgrade to use DocBook 4.5
-     (Peter Eisentraut)
-    
-
-    
-
-    
-
-   
-
-   
-    Source Code
-
-    
-
-    
-    
-
-    
-     Add support for building on Visual Studio 2019 (Haribabu Kommi)
-    
-
-    
-
-    
-    
-
-    
-     Add build support for MSYS2 (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Add compare_exchange and fetch_add assembly language code for Power
-     PC compilers (Noah Misch)
-    
-
-    
-
-    
-    
-
-    
-     Update Snowball
-     stemmer dictionaries used by full text search (Panagiotis
-     Mavrogiorgos)
-    
-
-    
-     This adds Greek stemming and improves Danish and French stemming.
-    
-
-    
-
-    
-    
-
-    
-     Remove support for Windows 2000 (Michael Paquier)
-    
-
-    
-
-    
-    
-
-    
-     Remove support for non-ELF BSD
-     systems (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Remove support for Python versions
-     2.5.X and earlier (Peter Eisentraut)
-    
-
-    
-
-    
-    
-
-    
-     Remove support for OpenSSL 0.9.8
-     and 1.0.0 (Michael Paquier)
-    
-
-    
-
-    
-    
-
-    
-     Remove support option
-     8-byval (Peter Eisentraut)
-    
-
-    
-     This was needed for previously supported version-zero functions.
-    
-
-    
-
-    
-    
-
-    
-     Remove configure option 
-     (Peter Eisentraut)
-    
-
-    
-     This was needed for previously supported version-zero functions.
-    
-
-    
-
-    
-    
-
-    
-     Add the query string to planner hook functions (Pascal Legrand,
-     Julien Rouhaud)
-    
-
-    
-
-    
-    
-
-    
-     Add TRUNCATE
-     command hook (Yuli Khodorkovskiy)
-    
-
-    
-
-    
-    
-
-    
-     Add TLS init hook (Andrew Dunstan)
-    
-
-    
-
-    
-    
-
-    
-     Allow building with no predefined Unix-domain socket directory
-     (Peter Eisentraut)
-    
-
-    
+     
 
-    
-    
+      
+
+
+       
+        Allow pgbench to partition its 'accounts' table (Fabien Coelho)
+       
+
+       
+        This allows performance testing of partitioning.
+       
+      
+
+      
+
+
+       
+        Add pgbench command \aset, which behaves like \gset, but for multiple
+        queries (Fabien Coelho)
+       
+      
+
+      
+
+
+       
+        Allow pgbench to generate its data server-side, rather than client side
+        (Fabien Coelho)
+       
+      
+
+      
+
+
+       
+        Allow pgbench to dump script contents using
+         (Fabien Coelho)
+       
+      
 
-    
-     Reduce the probability of SysV resource key collision on Unix platforms
-     (Tom Lane)
-    
+     
 
-    listitem>
+    sect4>
 
-    
-    
+   
 
-    
-     Use operating system functions to cleanly erase memory that contains
-     sensitive information (Peter Eisentraut)
-    
+   
+    Server Applications
 
-    
-     For example, this is used for clearing passwords stored in memory.
-    
+    
 
-    
+     
+
+
+      
+       Generate backup manifests for base backups, and verify them (Robert
+       Haas)
+      
+
+      
+       A new tool 
+       linkend="app-pgverifybackup">pg_verifybackup"
+       can verify backups.
+      
+     
+
+     
+
+
+      
+       Have 
+       linkend="app-pgbasebackup">pg_basebackup
+       estimate the total backup size by default (Fujii Masao)
+      
+
+      
+       This computation allows 
+       linkend="monitoring-stats-dynamic-views-table">pg_stat_progress_analyze
+       to show progress, and can be disabled by using the
+        option.  Previously, this
+       computation happened only if  was used.
+      
+     
+
+     
+
+
+      
+       Add 
+       linkend="app-pgrewind">pg_rewind
+       option to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal)
+      
+
+      
+       This matches 
+       linkend="app-pgbasebackup">pg_basebackup's
+        option.
+      
+     
+
+     
+
+
+      
+       Allow pg_rewind to use the target
+       cluster's  to retrieve needed
+       WAL (Alexey Kondratov)
+      
+
+      
+       This is enabled using the
+       / option.
+      
+     
+
+     
+
+
+      
+       Have pg_rewind automatically run crash
+       recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal)
+      
+
+      
+       This can be disabled by using .
+      
+     
+
+     
+
+
+      
+       Increase PREPARE
+       TRANSACTION information reported by
+       pg_waldump (Fujii Masao)
+      
+     
+
+     
+
+
+      
+       Add 
+       linkend="pgwaldump">pg_waldump
+       option  to suppress non-error output (Andres
+       Freund, Robert Haas)
+      
+     
+
+     
+
+
+      
+       Allow 
+       linkend="app-pgdump">pg_dump
+        to dump data from foreign
+       servers (Luis Carril)
+      
+     
+
+     
+
+
+      
+       Allow vacuum commands run by 
+       linkend="app-vacuumdb">vacuumdb to operate in parallel mode
+       (Masahiko Sawada)
+      
+
+      
+       This is enabled with the new  option.
+      
+     
+
+     
+
+
+      
+       Allow reindexdb to operate in
+       parallel (Julien Rouhaud)
+      
+
+      
+       Parallel mode is enabled with the new  option.
+      
+     
+
+     
+
+
+      
+       Allow dropdb to force disconnections
+       so the drop succeeds (Pavel Stehule)
+      
+
+      
+       This is enabled with the  option.
+      
+     
+
+     
+
+
+      
+       Remove  and 
+       from createuser (Alexander
+       Lakhin)
+      
+
+      
+       The long-supported options for this are called
+        and .
+      
+     
+
+     
+
+
+      
+       Use the directory of the 
+       linkend="pgupgrade">pg_upgrade
+       binary as the default new 'bindir' location when running
+       pg_upgrade (Daniel Gustafsson)
+      
+     
 
-    
-    
+    
 
-    
-     Add "headerscheck" script to test C header-file compatibility
-     (Tom Lane)
-    
+   
 
-    
+   
+    Documentation
 
-    
-    
+    
 
-    
-     Implement internal lists as arrays, rather than a chain of structures
-     (Tom Lane)
-    
+     
+
+
+      
+       Add a glossary to the documentation
+       (Corey Huinker, Jürgen Purtz, Roger Harkavy, Álvaro
+       Herrera)
+      
+     
+
+     
+
+
+      
+       Reformat tables containing function
+       information for better clarity (Tom Lane)
+      
+     
+
+     
+
+
+      
+       Upgrade to use DocBook 4.5
+       (Peter Eisentraut)
+      
+     
 
-    
-     This improves performance for queries that access many object.
-     The internal List API has also been improved.
-    
+    
 
-    >
+   >
 
-    
-    
+   
+    Source Code
 
-    
-     Update Windows build scripts
-     to use the modern  flag for
-     UUID libraries (Kyotaro Horiguchi)
-    
+    
 
-    
+     
+
+
+      
+       Add support for building on Visual Studio 2019 (Haribabu Kommi)
+      
+     
+
+     
+
+
+      
+       Add build support for MSYS2 (Peter Eisentraut)
+      
+     
+
+     
+
+
+      
+       Add compare_exchange and fetch_add assembly language code for Power
+       PC compilers (Noah Misch)
+      
+     
+
+     
+
+
+      
+       Update Snowball
+       stemmer dictionaries used by full text search (Panagiotis
+       Mavrogiorgos)
+      
+
+      
+       This adds Greek stemming and improves Danish and French stemming.
+      
+     
+
+     
+
+
+      
+       Remove support for Windows 2000 (Michael Paquier)
+      
+     
+
+     
+
+
+      
+       Remove support for non-ELF BSD
+       systems (Peter Eisentraut)
+      
+     
+
+     
+
+
+      
+       Remove support for Python versions
+       2.5.X and earlier (Peter Eisentraut)
+      
+     
+
+     
+
+
+      
+       Remove support for OpenSSL 0.9.8
+       and 1.0.0 (Michael Paquier)
+      
+     
+
+     
+
+
+      
+       Remove support option
+       8-byval (Peter Eisentraut)
+      
+
+      
+       This was needed for previously supported version-zero functions.
+      
+     
+
+     
+
+
+      
+       Remove configure option 
+       (Peter Eisentraut)
+      
+
+      
+       This was needed for previously supported version-zero functions.
+      
+     
+
+     
+
+
+      
+       Add the query string to planner hook functions (Pascal Legrand,
+       Julien Rouhaud)
+      
+     
+
+     
+
+
+      
+       Add TRUNCATE
+       command hook (Yuli Khodorkovskiy)
+      
+     
+
+     
+
+
+      
+       Add TLS init hook (Andrew Dunstan)
+      
+     
+
+     
+
+
+      
+       Allow building with no predefined Unix-domain socket directory
+       (Peter Eisentraut)
+      
+     
+
+     
+
+
+      
+       Reduce the probability of SysV resource key collision on Unix platforms
+       (Tom Lane)
+      
+     
+
+     
+
+
+      
+       Use operating system functions to cleanly erase memory that contains
+       sensitive information (Peter Eisentraut)
+      
+
+      
+       For example, this is used for clearing passwords stored in memory.
+      
+     
+
+     
+
+
+      
+       Add "headerscheck" script to test C header-file compatibility
+       (Tom Lane)
+      
+     
+
+     
+
+
+      
+       Implement internal lists as arrays, rather than a chain of structures
+       (Tom Lane)
+      
+
+      
+       This improves performance for queries that access many object.
+       The internal List API has also been improved.
+      
+     
+
+     
+
+
+      
+       Update Windows build scripts
+       to use the modern  flag for
+       UUID libraries (Kyotaro Horiguchi)
+      
+     
 
     
 
 
     
 
-    
-    
-
-    
-     Allow extensions to be
-     specified as trusted (Tom Lane)
-    
-
-    
-     Such extensions can be installed in a database by users with creation
-     rights, even if they are not superusers.  This change also removes
-     the pg_pltemplate system catalog.
-    
-
-    
-
-    
-    
-
-    
-     Remove support for upgrading "unpackaged" extensions (Tom Lane)
-    
-
-    
-
-    
-    
-
-    
-     Allow non-superusers to connect to 
-     foreign servers without using a password (Craig Ringer)
-    
-
-    
-     Specifically, allow ALTER
-     USER MAPPING to set
-     password_required to false.  Care must still be
-     taken to avoid non-superusers from using superuser credentials to
-     connect to the foreign server.
-    
-
-    
-
-    
-    
-
-    
-     Allow postgres_fdw to use certificate
-     authentication (Craig Ringer)
-    
-
-    
-     Different users can use different certificates.
-    
-
-    
-
-    
-    
-
-    
-     Allow  to control access to the
-     TRUNCATE command (Yuli Khodorkovskiy)
-    
-
-    
-
-    
-    
-
-    
-     Add extension bool_plperl which transforms
-     SQL booleans to/from PL/Perl booleans (Ivan
-     Panchenko) WHERE IS THIS DOCUMENTED?
-    
-
-    
-
-    
-    
-
-    
-     Have  treat SELECT
-     ... FOR UPDATE  as distinct from those without FOR
-     UPDATE (Andrew Gierth, Vik Fearing)
-    
-
-    
-
-    
-    
-
-    
-     Allow pg_stat_statements to optionally
-     track the planning time of statements (Julien Rouhaud, Pascal Legrand,
-     Thomas Munro, Fujii Masao)
-    
-
-    
-     Previously only execution time was tracked.
-    
-
-    
-
-    
-    
-
-    
-     Overhaul 's lquery syntax to treat
-     NOT (!) more logically (Filip Rembialkowski,
-     Tom Lane, Nikita Glukhov)
-    
-
-    
-     Also allow non-* queries to use a numeric range ({}) of matches.
-    
-
-    
-
-    
-    
-
-    
-     Add support for binary I/O of , lquery, and
-     ltxtquery types (Nino Floris)
-    
-
-    
-
-    
-    
-
-    
-     Add option to  extension to ignore the sign
-     of integers (Jeff Janes)
-    
-
-    
-
-    
-    
-
-    
-     Add  function
-     pg_file_sync() to allow fsync'ing a file
-     (Fujii Masao)
-    
-
-    
-
-    
-    
-
-    
-     Add  functions to output
-     t_infomask/t_infomask2
-     values in human-readable format (Craig Ringer, Sawada Masahiko,
-     Michael Paquier)
-    
-
-    
-
-    
-    
-
-    
-     Add btree index deduplication processing columns to pageinspect output
-     (Peter Geoghegan)
-    
-
-    
-
+     
+
+
+      
+       Allow extensions to be
+       specified as trusted (Tom Lane)
+      
+
+      
+       Such extensions can be installed in a database by users with creation
+       rights, even if they are not superusers.  This change also removes
+       the pg_pltemplate system catalog.
+      
+     
+
+     
+
+
+      
+       Remove support for upgrading "unpackaged" extensions (Tom Lane)
+      
+     
+
+     
+
+
+      
+       Allow non-superusers to connect to 
+       foreign servers without using a password (Craig Ringer)
+      
+
+      
+       Specifically, allow ALTER
+       USER MAPPING to set
+       password_required to false.  Care must still be
+       taken to avoid non-superusers from using superuser credentials to
+       connect to the foreign server.
+      
+     
+
+     
+
+
+      
+       Allow postgres_fdw to use certificate
+       authentication (Craig Ringer)
+      
+
+      
+       Different users can use different certificates.
+      
+     
+
+     
+
+
+      
+       Allow  to control access to the
+       TRUNCATE command (Yuli Khodorkovskiy)
+      
+     
+
+     
+
+
+      
+       Add extension bool_plperl which transforms
+       SQL booleans to/from PL/Perl booleans (Ivan
+       Panchenko) WHERE IS THIS DOCUMENTED?
+      
+     
+
+     
+
+
+      
+       Have  treat SELECT
+       ... FOR UPDATE  as distinct from those without FOR
+       UPDATE (Andrew Gierth, Vik Fearing)
+      
+     
+
+     
+
+
+      
+       Allow pg_stat_statements to optionally
+       track the planning time of statements (Julien Rouhaud, Pascal Legrand,
+       Thomas Munro, Fujii Masao)
+      
+
+      
+       Previously only execution time was tracked.
+      
+     
+
+     
+
+
+      
+       Overhaul 's lquery syntax to treat
+       NOT (!) more logically (Filip Rembialkowski,
+       Tom Lane, Nikita Glukhov)
+      
+
+      
+       Also allow non-* queries to use a numeric range ({}) of matches.
+      
+     
+
+     
+
+
+      
+       Add support for binary I/O of , lquery, and
+       ltxtquery types (Nino Floris)
+      
+     
+
+     
+
+
+      
+       Add option to  extension to ignore the sign
+       of integers (Jeff Janes)
+      
+     
+
+     
+
+
+      
+       Add  function
+       pg_file_sync() to allow fsync'ing a file
+       (Fujii Masao)
+      
+     
+
+     
+
+
+      
+       Add  functions to output
+       t_infomask/t_infomask2
+       values in human-readable format (Craig Ringer, Sawada Masahiko,
+       Michael Paquier)
+      
+     
+
+     
+
+
+      
+       Add btree index deduplication processing columns to pageinspect output
+       (Peter Geoghegan)
+      
+     
 
     
 
   
    Acknowledgments
 
-   
-    The following individuals (in alphabetical order) have contributed to this
-    release as patch authors, committers, reviewers, testers, or reporters of
-    issues.
-   
+    
+     The following individuals (in alphabetical order) have contributed to this
+     release as patch authors, committers, reviewers, testers, or reporters of
+     issues.
+