Stamp HEAD as 16devel.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 30 Jun 2022 15:26:40 +0000 (11:26 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 30 Jun 2022 15:26:40 +0000 (11:26 -0400)
Let the hacking begin ...

configure
configure.ac
doc/src/sgml/filelist.sgml
doc/src/sgml/release-15.sgml [deleted file]
doc/src/sgml/release-16.sgml [new file with mode: 0644]
doc/src/sgml/release.sgml
src/tools/git_changelog
src/tools/version_stamp.pl

index 7499c5c3d4a9381efe2bbb924b3a79c60ebdb79f..fb07cd27d99bb765e7e9487ec572f30ce3b5e117 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for PostgreSQL 15beta2.
+# Generated by GNU Autoconf 2.69 for PostgreSQL 16devel.
 #
 # Report bugs to <pgsql-bugs@lists.postgresql.org>.
 #
@@ -582,8 +582,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='PostgreSQL'
 PACKAGE_TARNAME='postgresql'
-PACKAGE_VERSION='15beta2'
-PACKAGE_STRING='PostgreSQL 15beta2'
+PACKAGE_VERSION='16devel'
+PACKAGE_STRING='PostgreSQL 16devel'
 PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org'
 PACKAGE_URL='https://www.postgresql.org/'
 
@@ -1452,7 +1452,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures PostgreSQL 15beta2 to adapt to many kinds of systems.
+\`configure' configures PostgreSQL 16devel to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1517,7 +1517,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of PostgreSQL 15beta2:";;
+     short | recursive ) echo "Configuration of PostgreSQL 16devel:";;
    esac
   cat <<\_ACEOF
 
@@ -1691,7 +1691,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-PostgreSQL configure 15beta2
+PostgreSQL configure 16devel
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2444,7 +2444,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by PostgreSQL $as_me 15beta2, which was
+It was created by PostgreSQL $as_me 16devel, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -20534,7 +20534,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by PostgreSQL $as_me 15beta2, which was
+This file was extended by PostgreSQL $as_me 16devel, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20605,7 +20605,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-PostgreSQL config.status 15beta2
+PostgreSQL config.status 16devel
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
index 171143da2196e55a98ffbc355d3a83f99c8daf0b..6c6f997ee3dbf1ba4e18c764f0e49a6efa5f9817 100644 (file)
@@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
 dnl
 m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
 
-AC_INIT([PostgreSQL], [15beta2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+AC_INIT([PostgreSQL], [16devel], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
 
 m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
 Untested combinations of 'autoconf' and PostgreSQL versions are not
index 40ef5f7ffc99676631ac8a401eb44b6090be31b8..821619300980d5d24d38ec0ea5682e8e01ba2d7b 100644 (file)
 <!ENTITY sourcerepo SYSTEM "sourcerepo.sgml">
 
 <!ENTITY release    SYSTEM "release.sgml">
-<!ENTITY release-15     SYSTEM "release-15.sgml">
+<!ENTITY release-16 SYSTEM "release-16.sgml">
 
 <!ENTITY limits     SYSTEM "limits.sgml">
 <!ENTITY acronyms   SYSTEM "acronyms.sgml">
diff --git a/doc/src/sgml/release-15.sgml b/doc/src/sgml/release-15.sgml
deleted file mode 100644 (file)
index 47ac329..0000000
+++ /dev/null
@@ -1,3410 +0,0 @@
- <sect1 id="release-15">
-  <title>Release 15</title>
-
-  <formalpara>
-   <title>Release date:</title>
-   <para>AS OF 2022-06-11</para>
-  </formalpara>
-
-  <sect2>
-   <title>Overview</title>
-
-   <para>
-    <productname>PostgreSQL</productname> 15 contains many new features
-    and enhancements, including:
-   </para>
-
-   <itemizedlist>
-    <listitem><para></para></listitem>
-   </itemizedlist>
-
-   <para>
-    The above items and other new features of
-    <productname>PostgreSQL</productname> 15 are explained in more detail
-    in the sections below.
-   </para>
-
-  </sect2>
-
-  <sect2>
-
-   <title>Migration to Version 15</title>
-
-    <para>
-     A dump/restore using <xref linkend="app-pg-dumpall"/> or use of
-     <xref linkend="pgupgrade"/> or logical replication is required for
-     those wishing to migrate data from any previous release.  See <xref
-     linkend="upgrading"/> for general information on migrating to new
-     major releases.
-    </para>
-
-    <para>
-     Version 15 contains a number of changes that may affect compatibility
-     with previous releases.  Observe the following incompatibilities:
-    </para>
-
-   <itemizedlist>
-
-<!--
-Author: Noah Misch <noah@leadboat.com>
-2021-09-09 [b073c3ccd] Revoke PUBLIC CREATE from public schema, now owned by pg
--->
-
-    <listitem>
-     <para>
-      Remove <literal>PUBLIC</literal> creation permission on the <link
-      linkend="ddl-schemas-public"><literal>public</literal> schema</link>
-      (Noah Misch)
-     </para>
-
-     <para>
-      This is a change in the default for newly-created databases in
-      existing clusters and for new clusters;  <literal>USAGE</literal>
-      permissions on the <literal>public</literal> schema has not
-      been changed.  Databases restored from previous Postgres releases
-      will be restored with their current permissions.  Users wishing
-      to have the former permissions will need to grant
-      <literal>CREATE</literal> permission for <literal>PUBLIC</literal>
-      on the <literal>public</literal> schema; this change can be made
-      on <literal>template1</literal> to cause all new databases
-      to have these permissions.
-     </para>
-    </listitem>
-
-<!--
-Author: Noah Misch <noah@leadboat.com>
-2021-09-09 [b073c3ccd] Revoke PUBLIC CREATE from public schema, now owned by pg
--->
-
-    <listitem>
-     <para>
-      Change the owner of the <literal>public</literal> schema to
-      <literal>pg_database_owner</literal> (Noah Misch)
-     </para>
-
-     <para>
-      Previously it was the literal user name of the bootstrap superuser.
-      Databases restored from previous Postgres releases will be restored
-      with their current owner specification.
-     </para>
-    </listitem>
-
-<!--
-Author: Stephen Frost <sfrost@snowman.net>
-2022-04-06 [39969e2a1] Remove exclusive backup mode
--->
-
-    <listitem>
-     <para>
-      Remove long-deprecated exclusive <link
-      linkend="backup-base-backup">backup mode</link> (David Steele,
-      Nathan Bossart)
-     </para>
-
-     <para>
-      If the database server stops abruptly while in this mode, the
-      server could fail to start.  The non-exclusive backup mode requires
-      a continuous database connection during the backup.  Functions
-      <function>pg_start_backup()</function>/<function>pg_stop_backup()</function>
-      have been renamed to
-      <function>pg_backup_start()</function>/<function>pg_backup_stop()</function>,
-      and the functions <function>pg_backup_start_time()</function>
-      and <function>pg_is_in_backup()</function> have been removed.
-     </para>
-    </listitem>
-
-<!--
-Author: Peter Geoghegan <pg@bowt.ie>
-2022-02-16 [8f388f6f5] Increase hash_mem_multiplier default to 2.0.
--->
-
-    <listitem>
-     <para>
-      Increase <link
-      linkend="guc-hash-mem-multiplier"><varname>hash_mem_multiplier</varname></link>
-      default to 2.0 (Peter Geoghegan)
-     </para>
-
-     <para>
-      This allows query hash operations to use double the amount of
-      <link linkend="guc-work-mem"><varname>work_mem</varname></link>
-      memory as other operations.
-     </para>
-    </listitem>
-
-<!--
-Author: Andres Freund <andres@anarazel.de>
-2022-03-07 [76a29adee] plpython: Remove plpythonu, plpython2u and associated tr
--->
-
-    <listitem>
-     <para>
-      Remove server-side language <link
-      linkend="plpython"><literal>plpython2u</literal></link> and generic
-      Python language <literal>plpythonu</literal> (Andres Freund)
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-01-19 [a3d6264bb] interval_out() must be marked STABLE, not IMMUTABLE.
--->
-
-    <listitem>
-     <para>
-      Mark the <link
-      linkend="datatype-datetime"><type>interval</type></link> output
-      function as stable, not immutable, since it depends on <link
-      linkend="guc-intervalstyle"><varname>IntervalStyle</varname></link>
-      (Tom Lane)
-     </para>
-
-     <para>
-      This will cause the creation of indexes relying on the text output
-      of <type>interval</type> values to fail.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-11-06 [cbe25dcff] Disallow making an empty lexeme via array_to_tsvector().
--->
-
-    <listitem>
-     <para>
-      Generate an error if <link
-      linkend="textsearch-functions-table"><function>array_to_tsvector()</function></link>
-      is passed an empty array element (Jean-Christophe Arnu)
-     </para>
-
-     <para>
-      This is prohibited because lexemes should never be empty.  Users of
-      previous Postgres releases should verify that no empty lexemes
-      are stored because they can lead to dump/restore failures and
-      inconsistent results.
-     </para>
-    </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2021-12-06 [e9e63b702] Fix inappropriate uses of PG_GETARG_UINT32()
--->
-
-    <listitem>
-     <para>
-      Generate an error when <link
-      linkend="functions-string-other"><function>chr()</function></link>
-      is supplied with a negative argument (Peter Eisentraut)
-     </para>
-    </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-01-12 [a18b6d2dc] ecpg: Catch zero-length Unicode identifiers correctly
--->
-
-    <listitem>
-     <para>
-      Prevent Unicode zero-length <link
-      linkend="sql-syntax-identifiers">identifiers</link>, e.g., U&amp;""
-      (Peter Eisentraut)
-     </para>
-
-     <para>
-      Non-Unicode zero-length identifiers were already prevented.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-15 [2a712066d] Remove pg_dump's - -no-synchronized-snapshots switch.
--->
-
-    <listitem>
-     <para>
-      Remove <link
-      linkend="sql-syntax-identifiers"><application>pg_dump</application></link>'s
-      <option>--no-synchronized-snapshots</option> option since all
-      supported server versions support synchronized snapshots (Tom Lane)
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-15 [2523928b2] Reject change of output-column collation in CREATE OR RE
--->
-
-    <listitem>
-     <para>
-      Prevent <link linkend="sql-createview"><command>CREATE OR REPLACE
-      VIEW</command></link> from changing the collation of an output column
-      (Tom Lane)
-     </para>
-    </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-02-16 [2549f0661] Reject trailing junk after numeric literals
--->
-
-    <listitem>
-     <para>
-      Prevent <link linkend="sql-syntax-constants-numeric">numeric
-      literals</link> from having non-numeric trailing characters (Peter
-      Eisentraut)
-     </para>
-
-     <para>
-      Previously literals like <literal>123abc</literal> would be
-      interpreted as <literal>123</literal> and <literal>abc</literal>.
-     </para>
-    </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-03-28 [e26114c81] Make JSON path numeric literals more correct
--->
-
-    <listitem>
-     <para>
-      Adjust <link linkend="datatype-json"><acronym>JSON</acronym></link>
-      numeric literal processing to match the
-      <acronym>SQL</acronym>/<acronym>JSON</acronym>-standard (Peter
-      Eisentraut)
-     </para>
-
-     <para>
-      This accepts numeric formats like <literal>.1</literal> and
-      <literal>1.</literal>, and disallows trailing junk after numeric
-      literals, like <literal>1.type()</literal>.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-03 [591e088dd] Fix portability issues in datetime parsing.
--->
-
-    <listitem>
-     <para>
-      Improve consistency of <link
-      linkend="datatype-datetime">interval</link> parsing with trailing
-      periods (Tom Lane)
-     </para>
-
-     <para>
-      Some platforms disallowed trailing periods.
-     </para>
-    </listitem>
-
-<!--
-Author: Bruce Momjian <bruce@momjian.us>
-2021-08-03 [95ab1e0a9] interval:  round values when spilling to months
--->
-
-    <listitem>
-     <para>
-      When specifying fractional interval values in units greater than
-      months, round to the nearest month (Bruce Momjian)
-     </para>
-
-     <para>
-      For example, report <literal>1.99 years</literal> as <literal>2
-      years</literal>, not <literal>1 year 11 months</literal>.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-28 [54bd1e43c] Handle integer overflow in interval justification functi
--->
-
-    <listitem>
-     <para>
-      Detect integer overflow in <link
-      linkend="functions-datetime-table">interval justification
-      functions</link> (Joe Koshakow)
-     </para>
-
-     <para>
-      Specifically, functions <function>justify_interval()</function>,
-      <function>justify_hours()</function>, and
-      <function>justify_days()</function> are affected.
-     </para>
-    </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-28 [79de9842a] Remove the ability of a role to administer itself.
--->
-
-    <listitem>
-     <para>
-      Remove the default <link linkend="sql-createrole"><literal>ADMIN
-      OPTION</literal></link> privilege a login role has on its own role
-      membership (Robert Haas)
-     </para>
-
-     <para>
-      Previously, login roles could add/remove members of its own role,
-      even without <literal>ADMIN OPTION</literal> privilege.
-     </para>
-    </listitem>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2022-01-07 [a2ab9c06e] Respect permissions within logical replication.
--->
-
-    <listitem>
-     <para>
-      Allow <link linkend="logical-replication">logical replication</link>
-      to run as the owner of the subscription (Mark Dilger)
-     </para>
-
-     <para>
-      Because row-level security policies are not checked, only superusers,
-      roles with <literal>bypassrls</literal>, and table owners can
-      replicate into tables with row-level security policies.
-     </para>
-    </listitem>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2022-01-08 [96a6f11c0] More cleanup of a2ab9c06ea.
--->
-
-    <listitem>
-     <para>
-      Prevent <command>UPDATE</command> and <command>DELETE</command>
-      <link linkend="logical-replication">logical replication</link>
-      operations on tables where the subscription owner does not have
-      <command>SELECT</command> permission on the table (Jeff Davis)
-     </para>
-
-     <para>
-      <command>UPDATE</command> and <command>DELETE</command> perform
-      <command>SELECT</command>, so require the subscription owner to
-      have table <command>SELECT</command> permission.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-07-27 [48c5c9068] Use the "pg_temp" schema alias in EXPLAIN and related ou
--->
-
-    <listitem>
-     <para>
-      When <link linkend="sql-explain"><command>EXPLAIN</command></link>
-      references the temporary object schema, refer to it as
-      <literal>pg_temp</literal> (Amul Sul)
-     </para>
-
-     <para>
-      Previously the actual schema name was used.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-28 [2e517818f] Fix SPI's handling of errors during transaction commit.
--->
-
-    <listitem>
-     <para>
-      Modify <link linkend="spi"><acronym>SPI</acronym></link>'s
-      <function>SPI_commit()</function> and
-      <function>SPI_commit_and_chain()</function> to automatically start
-      a new transaction at completion (Peter Eisentraut, Tom Lane)
-     </para>
-
-     <para>
-      BACKPATCHED?
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-03-24 [ce95c5437] Fix pg_statio_all_tables view for multiple TOAST indexes
--->
-
-    <listitem>
-     <para>
-      Fix <link
-      linkend="monitoring-pg-statio-all-tables-view"><structname>pg_statio_all_tables</structname></link>
-      to sum values for the rare case of <acronym>TOAST</acronym> tables
-      with multiple indexes (Andrei Zubkov)
-     </para>
-
-     <para>
-      Previously such cases would have one row for each index.
-     </para>
-    </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2021-12-01 [75d22069e] Warning on SET of nonexisting setting with a prefix rese
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-27 [2ed8a8cc5] Rethink handling of settings with a prefix reserved by a
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-21 [88103567c] Disallow setting bogus GUCs within an extension's reserv
--->
-
-    <listitem>
-     <para>
-      Disallow setting of <link linkend="config-setting">server
-      variables</link> matching the prefixes of installed extension
-      (Florin Irion, Tom Lane)
-     </para>
-
-     <para>
-      This also deletes any matching server variables during extension
-      load.
-     </para>
-    </listitem>
-
-<!--
-Author: Andres Freund <andres@anarazel.de>
-2022-04-06 [6f0cf8787] pgstat: remove stats_temp_directory.
--->
-
-    <listitem>
-     <para>
-      Remove unnecessary server variable
-      <varname>stats_temp_directory</varname> (Andres Freund, Kyotaro
-      Horiguchi)
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-11-28 [3804539e4] Replace random(), pg_erand48(), etc with a better PRNG A
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-12 [d4f109e4a] Doc: update description of random() function.
--->
-
-    <listitem>
-     <para>
-      Improve the algorithm used to compute <link
-      linkend="functions-math-random-table"><function>random()</function></link>
-      (Fabien Coelho)
-     </para>
-
-     <para>
-      This will cause <function>random()</function> to differ from what
-      was emitted by prior versions for the same seed values.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-11-12 [f8abb0f5e] postgres_fdw: suppress casts on constants in limited cas
--->
-
-    <listitem>
-     <para>
-      Reduce casting of constants in <link
-      linkend="postgres-fdw">postgres_fdw</link> queries (Dian Fay)
-     </para>
-
-     <para>
-      If column types were mismatched between local and remote databases,
-      such casting could cause errors.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-14 [fd2abeb7c] Delete contrib/xml2's legacy implementation of xml_is_we
--->
-
-    <listitem>
-     <para>
-      Remove <link linkend="xml2">xml2</link>'s function
-      <function>xml_is_well_formed()</function> (Tom Lane)
-     </para>
-
-     <para>
-      This function has been implemented in the core backend since
-      Postgres 9.1.
-     </para>
-    </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-07-06 [955b3e0f9] Allow CustomScan providers to say whether they support p
--->
-
-    <listitem>
-     <para>
-      Allow <link linkend="custom-scan">custom scan provders</link>
-      to indicate if they support projections (Sven Klemm)
-     </para>
-
-     <para>
-      The default is now that custom scan providers can't support
-      projections, so they need to be updated for this release.
-     </para>
-    </listitem>
-
-   </itemizedlist>
-
-  </sect2>
-
-  <sect2>
-   <title>Changes</title>
-
-   <para>
-    Below you will find a detailed account of the changes between
-    <productname>PostgreSQL</productname> 15 and the previous major
-    release.
-   </para>
-
-   <sect3>
-    <title>Server</title>
-
-    <itemizedlist>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-02-14 [37851a8b8] Database-level collation version tracking
--->
-
-     <listitem>
-      <para>
-       Record and check the collation of each <link
-       linkend="sql-createdatabase">database</link> (Peter Eisentraut)
-      </para>
-
-      <para>
-       This is designed to detect collation
-       mismatches to avoid data corruption.  Function
-       <function>pg_database_collation_actual_version()</function>
-       reports the underlying operating system collation version, and
-       <command>ALTER DATABASE ...  REFRESH</command> sets the database
-       to match the operating system collation version.  DETAILS?
-      </para>
-     </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-03-17 [f2553d430] Add option to use ICU as global locale provider
--->
-
-     <listitem>
-      <para>
-       Allow <link linkend="locale"><acronym>ICU</acronym></link>
-       collations to be set as the default for clusters and databases
-       (Peter Eisentraut)
-      </para>
-
-      <para>
-       Previously, <acronym>ICU</acronym> collations could only be
-       specified in <link linkend="sql-createcollation"><command>CREATE
-       COLLATION</command></link> and used with the
-       <literal>COLLATE</literal> clause.
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-03-29 [a2c84990b] Add system view pg_ident_file_mappings
--->
-
-     <listitem>
-      <para>
-       Add system view <link
-       linkend="view-pg-ident-file-mappings"><structname>pg_ident_file_mappings</structname></link>
-       to report <filename>pg_ident.conf</filename> information (Julien
-       Rouhaud)
-      </para>
-     </listitem>
-
-       </itemizedlist>
-
-    <sect4>
-     <title><link linkend="ddl-partitioning">Partitioning</link></title>
-
-     <itemizedlist>
-
-<!--
-Author: David Rowley <drowley@postgresql.org>
-2021-08-03 [475dbd0b7] Track a Bitmapset of non-pruned partitions in RelOptInfo
--->
-
-      <listitem>
-       <para>
-        Improve planning time for queries referencing partitioned tables
-        (David Rowley)
-       </para>
-
-       <para>
-        Specifically this helps if only a small number of the many
-        partitions are relevant.
-       </para>
-      </listitem>
-
-<!--
-Author: David Rowley <drowley@postgresql.org>
-2021-08-03 [db632fbca] Allow ordered partition scans in more cases
--->
-
-      <listitem>
-       <para>
-        Allow ordered scans of partitions to avoid sorting in more cases
-        (David Rowley)
-       </para>
-
-       <para>
-        Previously, a partitioned table with a <literal>DEFAULT</literal>
-        partition or a <literal>LIST</literal> partition containing
-        multiple values could not be used for ordered partition scans.
-        Now they can be used if these partitions are pruned.
-       </para>
-      </listitem>
-
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-2022-03-20 [ba9a7e392] Enforce foreign key correctly during cross-partition upd
--->
-
-      <listitem>
-       <para>
-        Improve foreign key behavior of updates on partitioned tables
-        that move rows between partitions (Amit Langote)
-       </para>
-
-       <para>
-        Previously, such updates ran delete actions on the source
-        partition and insert actions on the target partition.
-        <productname>PostgreSQL</productname> will now run update actions
-        on the referenced partition root.
-       </para>
-      </listitem>
-
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-2022-04-02 [cfdd03f45] Allow CLUSTER on partitioned tables
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-2022-04-14 [3f19e176a] Have CLUSTER ignore partitions not owned by caller
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="sql-cluster"><command>CLUSTER</command></link>
-        on partitioned tables (Justin Pryzby)
-       </para>
-      </listitem>
-
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-2021-07-22 [80ba4bb38] Make ALTER TRIGGER RENAME consistent for partitioned tab
--->
-
-      <listitem>
-       <para>
-        Fix <link linkend="sql-altertable"><command>ALTER TRIGGER
-        RENAME</command></link> on partitioned tables to properly rename
-        triggers an all partitions (Arne Roland, Álvaro Herrera)
-       </para>
-
-       <para>
-        Also prohibit cloned triggers from being renamed.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Indexes</title>
-
-     <itemizedlist>
-
-<!--
-Author: Peter Geoghegan <pg@bowt.ie>
-2021-10-02 [2903f1404] Enable deduplication in system catalog indexes.
--->
-
-      <listitem>
-       <para>
-        Enable system and <link
-        linkend="storage-toast"><acronym>TOAST</acronym></link> btree
-        indexes to efficiently store duplicates (Peter Geoghegan)
-       </para>
-
-       <para>
-        Previously de-duplication was disabled for these types of indexes.
-       </para>
-      </listitem>
-
-<!--
-Author: Alexander Korotkov <akorotkov@postgresql.org>
-2022-02-07 [f1ea98a79] Reduce non-leaf keys overlap in GiST indexes produced by
--->
-
-      <listitem>
-       <para>
-        Improve lookup performance of <link
-        linkend="gist"><acronym>GiST</acronym></link> indexes built using
-        sorting (Aliaksandr Kalenik, Sergei Shoulbakov, Andrey Borodin)
-       </para>
-      </listitem>
-
-<!--
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2021-11-30 [5753d4ee3] Ignore BRIN indexes when checking for HOT udpates
--->
-
-      <listitem>
-       <para>
-        Prevent changes to columns only indexed by <link
-        linkend="brin"><acronym>BRIN</acronym></link> indexes from
-        disabling <acronym>HOT</acronym> updates (Josef Simanek)
-       </para>
-      </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-02-03 [94aa7cc5f] Add UNIQUE null treatment option
--->
-
-      <listitem>
-       <para>
-        Allow unique constraints and indexes to treat
-        <literal>NULL</literal> values as not distinct (Peter Eisentraut)
-       </para>
-
-       <para>
-        Previously <literal>NULL</literal> values were always indexed
-        as distinct values, but this can now be changed by creating
-        constraints and indexes using <literal>UNIQUE NULLS NOT
-        DISTINCT</literal>.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-11-17 [a148f8bc0] Add a planner support function for starts_with().
--->
-
-      <listitem>
-       <para>
-        Allow <link
-        linkend="functions-string-other"><literal>^@</literal></link>
-        and <function>starts_with()</function> to use btree indexes if
-        using a C collation (Tom Lane)
-       </para>
-
-       <para>
-        Previously these could only use <link
-        linkend="spgist"><acronym>SP-GiST</acronym></link> indexes.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Optimizer</title>
-
-     <itemizedlist>
-
-<!--
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2022-01-16 [269b532ae] Add stxdinherit flag to pg_statistic_ext_data
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="sql-createstatistics">extended
-        statistics</link> to record statistics for a parent with all its
-        children (Tomas Vondra, Justin Pryzby)
-       </para>
-
-       <para>
-        Regular statistics already tracked parent and parent/all-children
-        statistics separately.
-       </para>
-      </listitem>
-
-<!--
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2022-03-31 [db0d67db2] Optimize order of GROUP BY keys
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="queries-group"><literal>GROUP
-        BY</literal></link> sorting to optimize column order (Dmitry
-        Dolgov, Teodor Sigaev, Tomas Vondra)
-       </para>
-
-       <para>
-        This optimization can be disabled using the server variable <link
-        linkend="guc-enable-groupby-reordering"><varname>enable_group_by_reordering</varname></link>.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-03-24 [0bd7af082] Invent recursive_worktable_factor GUC to replace hard-wi
--->
-
-      <listitem>
-       <para>
-        Add server variable <link
-        linkend="guc-recursive-worktable-factor"><varname>recursive_worktable_factor</varname></link>
-        to allow the user to specify the expected recursive query worktable
-        size (Simon Riggs)
-       </para>
-
-       <para>
-        WHAT IS A WORKTABLE?  NOT DEFINED.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>General Performance</title>
-
-     <itemizedlist>
-
-<!--
-Author: David Rowley <drowley@postgresql.org>
-2021-07-07 [29f45e299] Use a hash table to speed up NOT IN(values)
--->
-
-      <listitem>
-       <para>
-        Allow hash lookup for <link
-        linkend="functions-subquery-notin"><literal>NOT IN</literal></link>
-        clauses with many constants (David Rowley, James Coleman)
-       </para>
-
-       <para>
-        Previously the code always sequentially scanned the list of values.
-       </para>
-      </listitem>
-
-<!--
-Author: John Naylor <john.naylor@postgresql.org>
-2021-12-20 [911588a3f] Add fast path for validating UTF-8 text
--->
-
-      <listitem>
-       <para>
-        Improve validation of <acronym>UTF</acronym>-8 text (even if
-        only <acronym>ASCII</acronym>) by processing 16 bytes at a time
-        (John Naylor, Heikki Linnakangas)
-       </para>
-
-       <para>
-        This will improve text-heavy operations like <link
-        linkend="sql-copy"><command>COPY FROM</command></link>.
-       </para>
-      </listitem>
-
-<!--
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-2021-10-18 [65014000b] Replace polyphase merge algorithm with a simple balanced
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-2021-10-25 [166f94377] Clarify the logic in a few places in the new balanced me
--->
-
-      <listitem>
-       <para>
-        Improve performance for sorts that exceed <link
-        linkend="guc-work-mem"><varname>work_mem</varname></link>
-        (Heikki Linnakangas)
-       </para>
-
-       <para>
-        Specifically, switch to a batch sorting algorithm that uses more
-        output streams internally.
-       </para>
-      </listitem>
-
-<!--
-Author: David Rowley <drowley@postgresql.org>
-2021-07-22 [91e9e89dc] Make nodeSort.c use Datum sorts for single column sorts
-Author: David Rowley <drowley@postgresql.org>
-2022-04-04 [40af10b57] Use Generation memory contexts to store tuples in sorts
-Author: John Naylor <john.naylor@postgresql.org>
-2022-04-02 [697492434] Specialize tuplesort routines for different kinds of abb
--->
-
-      <listitem>
-       <para>
-        Improve performance and reduce memory consumption of in-memory
-        sorts (Ronan Dunklau, David Rowley, Thomas Munro, John Naylor)
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-06-29 [4035cd5d4] Add support for LZ4 with compression of full-page writes
-Author: Michael Paquier <michael@paquier.xyz>
-2022-03-11 [e9537321a] Add support for zstd with compression of full-page write
--->
-
-      <listitem>
-       <para>
-        Allow <acronym>WAL</acronym> <link
-        linkend="guc-full-page-writes">full page writes</link> to use
-        LZ4 and Zstandard compression (Andrey Borodin, Justin Pryzby)
-       </para>
-
-       <para>
-        This is controlled by the <link
-        linkend="guc-wal-compression"><varname>wal_compression</varname></link>
-        server setting.
-       </para>
-      </listitem>
-
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-2021-07-19 [2dbe89057] Support direct I/O on macOS.
--->
-
-      <listitem>
-       <para>
-        Add <link linkend="guc-wal-sync-method">direct I/O</link> support
-        to macOS (Thomas Munro)
-       </para>
-
-       <para>
-        This only works if <literal>max_wal_senders=0</literal>
-        and <literal>wal_level=minimal</literal>, and only for
-        <acronym>WAL</acronym>.
-       </para>
-      </listitem>
-
-<!--
-Author: Peter Geoghegan <pg@bowt.ie>
-2022-04-03 [0b018faba] Set relfrozenxid to oldest extant XID seen by VACUUM.
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="routine-vacuuming">vacuum</link> to be more
-        aggressive in setting the oldest frozenxid (Peter Geoghegan)
-       </para>
-      </listitem>
-
-<!--
-Author: Etsuro Fujita <efujita@postgresql.org>
-2022-04-06 [c2bb02bc2] Allow asynchronous execution in more cases.
--->
-
-      <listitem>
-       <para>
-        Allow a query referencing multiple <link
-        linkend="ddl-foreign-data">foreign tables</link> to perform
-        parallel foreign table scans in more cases (Andrey Lepikhov,
-        Etsuro Fujita)
-       </para>
-      </listitem>
-
-<!--
-Author: David Rowley <drowley@postgresql.org>
-2022-04-08 [9d9c02ccd] Teach planner and executor about monotonic window funcs
--->
-
-      <listitem>
-       <para>
-        Improve the performance of <link linkend="functions-window">window
-        functions</link> that use <function>row_number()</function>,
-        <function>rank()</function>, and <function>count()</function>
-        (David Rowley)
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-06 [a82a5eee3] Use ISB as a spin-delay instruction on ARM64.
--->
-
-      <listitem>
-       <para>
-        Improve the performance of spinlocks on high-core-count ARM64
-        systems (Geoffrey Blake)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Monitoring</title>
-
-     <itemizedlist>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2021-12-13 [64da07c41] Default to log_checkpoints=on, log_autovacuum_min_durati
--->
-
-      <listitem>
-       <para>
-        Enable default logging of checkpoints and slow autovacuum
-        operations (Bharath Rupireddy)
-       </para>
-
-       <para>
-        Specifically, this changes the default of <link
-        linkend="guc-log-checkpoints"><varname>log_checkpoints</varname></link>
-        to on and <link
-        linkend="guc-log-autovacuum-min-duration"><varname>log_autovacuum_min_duration</varname></link>
-        to 10 minutes.  This will cause idle servers to generate log
-        output, which might cause problems on resource-constrained
-        servers with insufficient log file removal.  The defaults should
-        be changed in such cases.
-       </para>
-      </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2021-10-25 [9ce346eab] Report progress of startup operations that take a long t
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-2021-11-05 [e543906e2] Document default and changeability of log_startup_progre
--->
-
-      <listitem>
-       <para>
-        Generate periodic log message during slow server starts (Nitin
-        Jadhav, Robert Haas)
-       </para>
-
-       <para>
-        Messages report the cause of the delay.  The time interval for
-        notification is controlled by the new server variable <link
-        linkend="guc-log-startup-progress-interval"><varname>log_startup_progress_interval</varname></link>.
-       </para>
-      </listitem>
-
-<!--
-Author: Andres Freund <andres@anarazel.de>
-2022-04-06 [5891c7a8e] pgstat: store statistics in shared memory.
-Author: Andres Freund <andres@anarazel.de>
-2022-04-07 [b3abca681] pgstat: Update docs to match the shared memory stats rea
--->
-
-      <listitem>
-       <para>
-        Store <link linkend="monitoring-stats">server-level
-        statistics</link> in shared memory (Kyotaro Horiguchi, Andres
-        Freund, Melanie Plageman)
-       </para>
-
-       <para>
-        Previously this was updated via <acronym>UDP</acronym> packets,
-        stored in the file system, and read by sessions.  There is no
-        longer a statistics collector process.
-       </para>
-      </listitem>
-
-<!--
-Author: Peter Geoghegan <pg@bowt.ie>
-2022-02-11 [872770fd6] Add VACUUM instrumentation for scanned pages, relfrozenx
-Author: Peter Geoghegan <pg@bowt.ie>
-2022-03-13 [6e20f4600] VACUUM VERBOSE: tweak scanned_pages logic.
-Author: Peter Geoghegan <pg@bowt.ie>
-2022-04-15 [bdb71dbe8] VACUUM VERBOSE: Show dead items for an empty table.
--->
-
-      <listitem>
-       <para>
-        Add additional information to <command>VACUUM VERBOSE</command>
-        and autovacuum logging messages (Peter Geoghegan)
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-04-08 [efb0ef909] Track I/O timing for temporary file blocks in EXPLAIN (B
--->
-
-      <listitem>
-       <para>
-        Add <link linkend="sql-explain"><command>EXPLAIN
-        (BUFFERS)</command></link> output for temporary file block I/O
-        (Masahiko Sawada)
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-01-17 [dc686681e] Introduce log_destination=jsonlog
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="guc-log-destination">log output</link> in
-        <acronym>JSON</acronym> format (Sehrope Sarkuni, Michael Paquier)
-       </para>
-
-       <para>
-        The new setting is <literal>log_destination=jsonlog</literal>.
-       </para>
-      </listitem>
-
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-2021-09-02 [e04267844] Enhance pg_stat_reset_single_table_counters function.
--->
-
-      <listitem>
-       <para>
-        Allow <link
-        linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_single_table_counters()</function></link>
-        to reset the counters of relations shared across all databases
-        (B Sadhu, Prasad Patro)
-       </para>
-      </listitem>
-
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-2021-11-22 [1b06d7bac] Report wait events for local shell commands like archive
--->
-
-      <listitem>
-       <para>
-        Add <link linkend="wait-event-table">wait events</link> for local
-        shell commands (Fujii Masao)
-       </para>
-
-       <para>
-        Specifically the new wait events are related to
-        commands <varname>archive_command</varname>,
-        <varname>archive_cleanup_command</varname>,
-        <varname>restore_command</varname> and
-        <varname>recovery_end_command</varname>.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Privileges</title>
-
-     <itemizedlist>
-
-<!--
-Author: Dean Rasheed <dean.a.rasheed@gmail.com>
-2022-03-22 [7faa5fc84] Add support for security invoker views.
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="sql-createview">view access</link> to be
-        controlled by privileges of the view user (Christoph Heiss)
-       </para>
-
-       <para>
-        Previously, view access could only be based on the view owner.
-       </para>
-      </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-28 [7f6772317] Adjust server-side backup to depend on pg_write_server_f
--->
-
-      <listitem>
-       <para>
-        Allow members of the <link
-        linkend="predefined-roles-table"><literal>pg_write_server_files</literal></link>
-        predefined role to perform server-side base backups (Dagfinn
-        Ilmari Mannsåker)
-       </para>
-
-       <para>
-        Previously only the superusers could perform such backups.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-06 [a0ffa885e] Allow granting SET and ALTER SYSTEM privileges on GUC pa
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="sql-grant"><command>GRANT</command></link>
-        to assign permission to change server variables via
-        <command>SET</command> and <command>ALTER SYSTEM</command>
-        (Mark Dilger)
-       </para>
-
-       <para>
-        New function <function>has_parameter_privilege()</function>
-        reports on this privilege.
-       </para>
-      </listitem>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2021-11-09 [4168a4745] Add pg_checkpointer predefined role for CHECKPOINT comma
--->
-
-      <listitem>
-       <para>
-        Add predefined role <link
-        linkend="predefined-roles-table"><literal>pg_checkpointer</literal></link>
-        that allows members to run <command>CHECKPOINT</command>
-        (Jeff Davis)
-       </para>
-
-       <para>
-        Previously checkpoints could only be run by superusers.
-       </para>
-      </listitem>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2021-10-27 [77ea4f943] Grant memory views to pg_read_all_stats.
--->
-
-      <listitem>
-       <para>
-        Allow members of the <link
-        linkend="predefined-roles-table"><literal>pg_read_all_stats</literal></link>
-        predefined role to access the views <link
-        linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>
-        and <link
-        linkend="view-pg-shmem-allocations"><structname>pg_shmem_allocations</structname></link>
-        (Bharath Rupireddy)
-       </para>
-
-       <para>
-        Previously these views could only be accessed by superusers.
-       </para>
-      </listitem>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2021-10-26 [f0b051e32] Allow GRANT on pg_log_backend_memory_contexts().
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="sql-grant"><command>GRANT</command></link>
-        to assign permissions on <link
-        linkend="view-pg-backend-memory-contexts"><function>pg_log_backend_memory_contexts()</function></link>
-        (Jeff Davis)
-       </para>
-
-       <para>
-        Previously this function could only be run by superusers.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title>Server Configuration</title>
-
-     <itemizedlist>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-09-08 [bd1788051] Introduce GUC shared_memory_size
-Author: Michael Paquier <michael@paquier.xyz>
-2021-09-09 [3b231596c] Make shared_memory_size a preset option
--->
-
-      <listitem>
-       <para>
-        Add server variable <link
-        linkend="guc-shared-memory-size"><varname>shared_memory_size</varname></link>
-        to report the size of allocated shared memory (Nathan Bossart)
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-09-21 [43c1c4f65] Introduce GUC shared_memory_size_in_huge_pages
-Author: Michael Paquier <michael@paquier.xyz>
-2022-03-24 [bbd4951b7] doc: Improve postgres command for shared_memory_size_in_
--->
-
-      <listitem>
-       <para>
-        Add server variable <link
-        linkend="guc-shared-memory-size-in-huge-pages"><varname>shared_memory_size_in_huge_pages</varname></link>
-        to report the number of huge memory pages required (Nathan Bossart)
-       </para>
-
-       <para>
-        This is only supported on Linux.
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-09-16 [0c39c2920] Support "postgres -C" with runtime-computed GUCs
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="app-postgres"><command>postgres
-        -C</command></link> to properly report runtime-computed values
-        (Nathan Bossart)
-       </para>
-
-       <para>
-        Previously runtime-computed values <link
-        linkend="guc-data-checksums"><varname>data_checksums</varname></link>,
-        <link
-        linkend="guc-wal-segment-size"><varname>wal_segment_size</varname></link>,
-        and <link
-        linkend="guc-data-directory-mode"><varname>data_directory_mode</varname></link>
-        would report values that would not be accurate on the running
-        server.  However, this does not work on a running server.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Streaming Replication and Recovery</title>
-
-    <itemizedlist>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-02-11 [dab298471] Add suport for server-side LZ4 base backup compression.
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-08 [7cf085f07] Add support for zstd base backup compression.
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-30 [51c0d186d] Allow parallel zstd compression when taking a base backu
--->
-
-     <listitem>
-      <para>
-       Add support for LZ4 and Zstandard compression of server-side <link
-       linkend="backup-base-backup">base backups</link> (Jeevan Ladhe,
-       Robert Haas)
-      </para>
-     </listitem>
-
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-2021-08-02 [7ff23c6d2] Run checkpointer and bgwriter in crash recovery.
--->
-
-     <listitem>
-      <para>
-       Run checkpointer and bgwriter during crash recovery (Thomas Munro)
-      </para>
-     </listitem>
-
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-2022-04-07 [5dc0418fa] Prefetch data referenced by the WAL, take II.
--->
-
-     <listitem>
-      <para>
-       Allow <acronym>WAL</acronym> processing to pre-fetch needed file
-       contents (Thomas Munro)
-      </para>
-
-      <para>
-       This is controlled by the server variable <link
-       linkend="guc-recovery-prefetch"><varname>recovery_prefetch</varname></link>.
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-02-03 [5ef1eefd7] Allow archiving via loadable modules.
--->
-
-     <listitem>
-      <para>
-       Add server variable <link
-       linkend="guc-archive-library"><varname>archive_library</varname></link>
-       to specify the library to be called for archiving (Nathan Bossart)
-      </para>
-
-      <para>
-       Previously only shell commands could be called to perform archiving.
-      </para>
-     </listitem>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2021-07-09 [8e7811e95] Eliminate replication protocol error related to IDENTIFY
--->
-
-     <listitem>
-      <para>
-       No longer require <link
-       linkend="protocol-replication"><literal>IDENTIFY_SYSTEM</literal></link>
-       to be run before <literal>START_REPLICATION</literal> (Jeff Davis)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-    <sect4>
-     <title><link linkend="logical-replication">Logical Replication</link></title>
-
-     <itemizedlist>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2021-10-27 [5a2832465] Allow publishing the tables of schema.
-Author: Amit Kapila <akapila@postgresql.org>
-2021-12-08 [1a2aaeb0d] Fix changing the ownership of ALL TABLES IN SCHEMA publi
--->
-
-      <listitem>
-       <para>
-        Allow publication of all tables in a schema (Vignesh C, Hou Zhijie,
-        Amit Kapila)
-       </para>
-
-       <para>
-        For example, this syntax is now supported:  <link
-        linkend="sql-createpublication"><command>CREATE PUBLICATION pub1
-        FOR ALL TABLES IN SCHEMA s1,s2;</command></link>  <command>ALTER
-        PUBLICATION</command> supports a similar syntax.  Tables added
-        to the listed schemas in the future will also be replicated.
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2022-02-22 [52e4f0cd4] Allow specifying row filters for logical replication of
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2022-03-17 [5a0796622] Fix row filters with multiple publications
-Author: Amit Kapila <akapila@postgresql.org>
-2022-04-18 [676eeb6dd] Add additional documentation for row filters.
--->
-
-      <listitem>
-       <para>
-        Allow publication content to be filtered using a
-        <literal>WHERE</literal> clause (Hou Zhijie, Euler Taveira,
-        Peter Smith, Ajin Cherian, Tomas Vondra, Amit Kapila)
-       </para>
-      </listitem>
-
-<!--
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2022-03-26 [923def9a5] Allow specifying column lists for logical replication
--->
-
-      <listitem>
-       <para>
-        Allow <link linkend="sql-createpublication">publications</link> to
-        be restricted to specific columns (Tomas Vondra, Álvaro Herrera,
-        Rahila Syed)
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2022-03-22 [208c5d65b] Add ALTER SUBSCRIPTION ... SKIP.
--->
-
-      <listitem>
-       <para>
-        Allow skipping of transactions on a subscriber using <link
-        linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION
-        ... SKIP</command></link> (Masahiko Sawada)
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2021-07-14 [a8fd13cab] Add support for prepared transactions to built-in logica
-Author: Amit Kapila <akapila@postgresql.org>
-2021-08-04 [63cf61cde] Add prepare API support for streaming transactions in lo
--->
-
-      <listitem>
-       <para>
-        Add support for prepared transactions to built-in logical
-        replication (Peter Smith, Ajin Cherian, Amit Kapila, Nikhil
-        Sontakke, Stas Kelvich)
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2021-06-30 [cda03cfed] Allow enabling two-phase option via replication protocol
--->
-
-      <listitem>
-       <para>
-        Add two-phase information to the logical replication stream
-        (Ajin Cherian)
-       </para>
-
-       <para>
-        The new <link
-        linkend="protocol-replication"><literal>CREATE_REPLICATION_SLOT</literal></link>
-        option is called <literal>TWO_PHASE</literal>.
-        <application>pg_recvlogical</application> now supports a new
-        <option>--two-phase</option> option during slot creation.
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2022-03-30 [d5a9d86d8] Skip empty transactions for logical replication.
--->
-
-      <listitem>
-       <para>
-        Prevent logical replication of empty transactions (Ajin Cherian,
-        Hou Zhijie, Euler Taveira)
-       </para>
-
-       <para>
-        Previously, write transactions would send empty transactions to
-        subscribers if subscribed tables were not modified.
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-11-23 [1922d7c6e] Add SQL functions to monitor the directory contents of r
--->
-
-      <listitem>
-       <para>
-        Add <acronym>SQL</acronym> functions to monitor the directory
-        contents of logical replication slots (Bharath Rupireddy)
-       </para>
-
-       <para>
-        Specifically, the functions are <link
-        linkend="functions-admin-genfile-table"><function>pg_ls_logicalsnapdir()</function></link>,
-        <function>pg_ls_logicalmapdir()</function>, and
-        <function>pg_ls_replslotdir()</function>.  They can be run by
-        members of the predefined <literal>pg_monitor</literal> role.
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2022-03-14 [705e20f85] Optionally disable subscriptions on error.
--->
-
-      <listitem>
-       <para>
-        Allow subscribers to stop logical replication application on error
-        (Osumi Takamichi, Mark Dilger)
-       </para>
-
-       <para>
-        This is enabled with the subscriber option <link
-        linkend="sql-createsubscription"><literal>disable_on_error</literal></link>
-        and avoids possible infinite error loops during stream application.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-11-02 [f3d4019da] Ensure consistent logical replication of datetime and fl
--->
-
-      <listitem>
-       <para>
-        Adjust subscriber server variables to match the publisher so
-        datetime and float8 values are interpreted consistently (Japin Li)
-       </para>
-
-       <para>
-        Some publishers might be relying on inconsistent behavior.
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2021-11-30 [8d74fc96d] Add a view to show the stats of subscription workers.
-Author: Amit Kapila <akapila@postgresql.org>
-2022-03-01 [7a8507329] Reconsider pg_stat_subscription_workers view.
--->
-
-      <listitem>
-       <para>
-        Add system view <link
-        linkend="monitoring-pg-stat-subscription-stats"><structname>pg_stat_subscription_stats</structname></link>
-        to report on subscriber activity (Masahiko Sawada)
-       </para>
-
-       <para>
-        New function <link
-        linkend="monitoring-stats-functions"><function>pg_stat_reset_subscription_stats()</function></link>
-        allows the resetting of subscriber statistics.
-       </para>
-      </listitem>
-
-<!--
-Author: Amit Kapila <akapila@postgresql.org>
-2021-12-08 [a61bff2bf] De-duplicate the result of pg_publication_tables view.
--->
-
-      <listitem>
-       <para>
-        Remove incorrect duplicate partitions in system view <link
-        linkend="view-pg-publication-tables"><structname>pg_publication_tables</structname></link>
-        (Hou Zhijie)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title><link linkend="sql-select"><command>SELECT</command></link>, <link linkend="sql-insert"><command>INSERT</command></link></title>
-
-    <itemizedlist>
-
-<!--
-Author: David Rowley <drowley@postgresql.org>
-2021-08-22 [22c4e88eb] Allow parallel DISTINCT
--->
-
-     <listitem>
-      <para>
-       Allow <command>SELECT DISTINCT</command> to be parallelized
-       (David Rowley)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Utility Commands</title>
-
-    <itemizedlist>
-
-<!--
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-2022-03-28 [7103ebb7a] Add support for MERGE SQL command
--->
-
-     <listitem>
-      <para>
-       Add <acronym>SQL</acronym> <command>MERGE</command> command to
-       adjust one table to match another (Simon Riggs, Pavan Deolasee,
-       Álvaro Herrera, Amit Langote)
-      </para>
-
-      <para>
-       This is similar to <command>INSERT ... ON CONFLICT</command>
-       but more batch-oriented.
-      </para>
-     </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-01-28 [43f33dc01] Add HEADER support to COPY text format
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-03-30 [072132f04] Add header matching mode to COPY FROM
--->
-
-     <listitem>
-      <para>
-       Add support for <literal>HEADER</literal> option in <link
-       linkend="sql-copy"><command>COPY</command></link> text format
-       (Rémi Lapeyre)
-      </para>
-
-      <para>
-       The new option causes the column names to be output, and optionally
-       verified on input.
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-29 [9c08aea6a] Add new block-by-block strategy for CREATE DATABASE.
--->
-
-     <listitem>
-      <para>
-       Add new default <acronym>WAL</acronym>-logged method for <link
-       linkend="sql-createdatabase">database creation</link> (Dilip Kumar)
-      </para>
-
-      <para>
-       This avoids the need for checkpoints during database creation;
-       the old method is still available.
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-24 [aa0105141] pg_upgrade: Preserve database OIDs.
--->
-
-     <listitem>
-      <para>
-       Allow <link linkend="sql-createdatabase"><command>CREATE
-       DATABASE</command></link> to set the database <acronym>OID</acronym>
-       (Shruthi KC, Antonin Houska)
-      </para>
-     </listitem>
-
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-2022-02-12 [4eb217631] Fix DROP {DATABASE,TABLESPACE} on Windows.
--->
-
-     <listitem>
-      <para>
-       Prevent <link linkend="sql-dropdatabase"><command>DROP
-       DATABASE</command></link>, <link
-       linkend="sql-droptablespace"><command>DROP
-       TABLESPACE</command></link>, and <link
-       linkend="sql-alterdatabase"><command>ALTER DATABASE SET
-       TABLESPACE</command></link> from occasionally failing during
-       concurrent use on Windows (Thomas Munro)
-      </para>
-     </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2021-12-08 [d6f96ed94] Allow specifying column list for foreign key ON DELETE S
--->
-
-     <listitem>
-      <para>
-       Allow foreign key <link linkend="ddl-constraints-fk"><literal>ON
-       DELETE SET</literal></link> actions to affect only specified columns
-       (Paul Martinez)
-      </para>
-
-      <para>
-       Previously, all of the columns in the foreign key were always
-       affected.
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-07-28 [b0483263d] Add support for SET ACCESS METHOD in ALTER TABLE
--->
-
-     <listitem>
-      <para>
-       Allow <link linkend="sql-altertable"><command>ALTER
-       TABLE</command></link> to modify a table's <literal>ACCESS
-       METHOD</literal> (Justin Pryzby, Jeff Davis)
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-08-10 [7b565843a] Add call to object access hook at the end of table rewri
--->
-
-     <listitem>
-      <para>
-       Properly call object access hooks when <link
-       linkend="sql-altertable"><command>ALTER TABLE</command></link>
-       causes table rewrites (Michael Paquier)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Data Types</title>
-
-    <itemizedlist>
-
-<!--
-Author: Dean Rasheed <dean.a.rasheed@gmail.com>
-2021-07-26 [085f931f5] Allow numeric scale to be negative or greater than preci
--->
-
-     <listitem>
-      <para>
-       Allow <link linkend="datatype-numeric"><type>numeric</type></link>
-       scale to be negative or greater than precision (Dean Rasheed,
-       Tom Lane)
-      </para>
-
-      <para>
-       This allows rounding of values to the left of the decimal point,
-       e.g., <literal>'1234'::numeric(4, -2)</literal> returns 1200.
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-02 [e39f99046] Fix overflow hazards in interval input and output conver
--->
-
-     <listitem>
-      <para>
-       Improve overflow detection when casting values to <link
-       linkend="datatype-datetime">interval</link> (Joe Koshakow)
-      </para>
-     </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-04-07 [344d62fb9] Unlogged sequences
--->
-
-     <listitem>
-      <para>
-       Allow the creation of unlogged <link
-       linkend="sql-createsequence">sequences</link> (Peter Eisentraut)
-      </para>
-     </listitem>
-
-<!--
-Author: John Naylor <john.naylor@postgresql.org>
-2021-08-26 [bab982161] Update display widths as part of updating Unicode
-Author: Peter Eisentraut <peter@eisentraut.org>
-2021-09-15 [f7e56f1f5] Update Unicode data to Unicode 14.0.0
--->
-
-     <listitem>
-      <para>
-       Update the display width information of modern Unicode characters,
-       like emojis (Jacob Champion)
-      </para>
-
-      <para>
-       Also update from Unicode 5.0 to 14.0.0.  There is now an automated
-       way to keep Postgres updated with Unicode releases.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Functions</title>
-
-    <itemizedlist>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-03-30 [7ae1619bc] Add range_agg with multirange inputs
--->
-
-     <listitem>
-      <para>
-       Add multirange input to <link
-       linkend="functions-aggregate-table"><function>range_agg()</function></link>
-       (Paul Jungwirth)
-      </para>
-     </listitem>
-
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-2022-02-10 [400fc6b64] Add min() and max() aggregates for xid8.
--->
-
-     <listitem>
-      <para>
-       Add <link linkend="tutorial-agg"><function>MIN()</function></link>
-       and <function>MAX()</function> aggregates for the <link
-       linkend="datatype-int"><type>xid8</type></link> data type (Ken Kato)
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-08-03 [642433707] Add assorted new regexp_xxx SQL functions.
--->
-
-     <listitem>
-      <para>
-       Add regular expression functions for compatibility with other
-       relational systems (Gilles Darold, Tom Lane)
-      </para>
-
-      <para>
-       Specifically, the new functions are <link
-       linkend="functions-string-other"><function>regexp_count()</function></link>,
-       <function>regexp_instr()</function>,
-       <function>regexp_like()</function>, and
-       <function>regexp_substr()</function>.  Some new optional arguments
-       were also added to <function>regexp_replace()</function>.
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-13 [c5c192d7b] Implement poly_distance().
--->
-
-     <listitem>
-      <para>
-       Add the ability to compute the distance between <link
-       linkend="datatype-polygon"><type>polygons</type></link> (Tom Lane)
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-14 [9dde82899] Support "of", "tzh", and "tzm" format codes.
--->
-
-     <listitem>
-      <para>
-       Add <link
-       linkend="functions-formatting-table"><function>to_char()</function></link>
-       format codes <literal>of</literal>, <literal>tzh</literal>, and
-       <literal>tzm</literal> format codes (Nitin Jadhav)
-      </para>
-
-      <para>
-       The upper-case versions of these were already supported.
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-09-06 [388e71af8] Make timetz_zone() stable, and correct a bug for DYNTZ a
--->
-
-     <listitem>
-      <para>
-       Improve the optimization of <function>timetz_zone()</function> by
-       stabilizing its value at transaction start (Aleksander Alekseev,
-       Tom Lane)
-      </para>
-
-      <para>
-       HOW IS THIS USED?
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-11-06 [cbe25dcff] Disallow making an empty lexeme via array_to_tsvector().
--->
-
-     <listitem>
-      <para>
-       Allow <function>tsvector_delete_arr()</function> and
-       <function>tsvector_setweight_by_filter()</function> to accept
-       empty array elements (Jean-Christophe Arnu)
-      </para>
-
-      <para>
-       These lexemes are not stored so the acceptance of empty array
-       elements is not a problem.  NOT DOCUMENTED, USER API?
-      </para>
-     </listitem>
-
-<!--
-Author: David Rowley <drowley@postgresql.org>
-2021-07-09 [ca2e4472b] Teach pg_size_pretty and pg_size_bytes about petabytes
--->
-
-     <listitem>
-      <para>
-       Add support for petabyte units to <link
-       linkend="functions-admin-dbsize"><function>pg_size_pretty()</function></link>
-       and <function>pg_size_bytes()</function> (David Christensen)
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-07-27 [024515cac] In event triggers, use "pg_temp" only for our own temp s
--->
-
-     <listitem>
-      <para>
-       Change <link
-       linkend="pg-event-trigger-ddl-command-end-functions"><function>pg_event_trigger_ddl_commands()</function></link>
-       to output references to non-local temporary schemas using the
-       actual schema name (Tom Lane)
-      </para>
-
-      <para>
-       Previously this function referred to temporary schemas as
-       <literal>pg_temp</literal>.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-    <sect4>
-     <title><acronym>JSON</acronym></title>
-
-     <itemizedlist>
-
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-03-27 [f79b803dc] Common SQL/JSON clauses
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-03-27 [f4fb45d15] SQL/JSON constructors
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-03-30 [606948b05] SQL JSON functions
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-03-31 [49082c2cc] RETURNING clause for JSON() and JSON_SCALAR()
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-04-07 [a6baa4bad] Documentation for SQL/JSON features
--->
-
-      <listitem>
-       <para>
-        Add <acronym>SQL</acronym>/<acronym>JSON</acronym>-standard
-        <acronym>JSON</acronym> constructors (Nikita Glukhov)
-       </para>
-
-       <para>
-        The construction functions are <link
-        linkend="functions-sqljson-producing"><function>json()</function></link>,
-        <function>json_scalar()</function>, and
-        <function>json_serialize()</function>,
-        <function>json_array()</function>,
-        <function>json_arrayagg()</function>,
-        <function>json_object()</function>, and
-        <function>json_objectagg()</function>.  They have a few functional
-        advantages over the existing JSON functions.
-       </para>
-      </listitem>
-
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-03-29 [1a36bc9db] SQL/JSON query functions
--->
-
-      <listitem>
-       <para>
-        Add <acronym>SQL</acronym>/<acronym>JSON</acronym>
-        query functions <link
-        linkend="functions-sqljson-querying"><function>json_exists()</function></link>,
-        <function>json_query()</function>, and
-        <function>json_value()</function> (Nikita Glukhov)
-       </para>
-      </listitem>
-
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-03-28 [33a377608] IS JSON predicate
--->
-
-      <listitem>
-       <para>
-        Add <acronym>JSON</acronym> predicates to test
-        <type>JSON</type>/<type>JSONB</type> values (Nikita Glukhov)
-       </para>
-
-       <para>
-        The clauses are <link linkend="functions-sqljson-misc"><literal>IS
-        JSON</literal></link> [ <literal>VALUE</literal> |
-        <literal>ARRAY</literal>
-      | <literal>OBJECT</literal> | <literal>SCALAR</literal> |
-        [<literal>WITH</literal> | <literal>WITHOUT</literal> ]
-        <literal>UNIQUE KEYS</literal> ].
-       </para>
-      </listitem>
-
-<!--
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-04-04 [4e34747c8] JSON_TABLE
-Author: Andrew Dunstan <andrew@dunslane.net>
-2022-04-05 [fadb48b00] PLAN clauses for JSON_TABLE
--->
-
-      <listitem>
-       <para>
-        Add function <link
-        linkend="functions-sqljson-table"><function>JSON_TABLE()</function></link>
-        to cause <acronym>JSON</acronym> data to be treated as a table
-        (Nikita Glukhov)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title><link linkend="plpgsql">PL/pgSQL</link></title>
-
-    <itemizedlist>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-30 [ccd10a9bf] Tighten enforcement of variable CONSTANT markings in plp
--->
-
-     <listitem>
-      <para>
-       Fix enforcement of PL/pgSQL variable <literal>CONSTANT</literal>
-       markings (Tom Lane)
-      </para>
-
-      <para>
-       Previously, a variable used as a <link
-       linkend="plpgsql-statements-calling-procedure"><command>CALL</command></link>
-       output parameter or refcursor <command>OPEN</command> variable
-       would not enforce <literal>CONSTANT</literal>.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title><link linkend="libpq">libpq</link></title>
-
-    <itemizedlist>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-04-01 [c1932e542] libpq: Allow IP address SANs in server certificates
--->
-
-     <listitem>
-      <para>
-       Allow <acronym>IP</acronym> address matching against a server
-       certificate's Subject Alternative Name (Jacob Champion)
-      </para>
-     </listitem>
-
-<!--
-Author: Daniel Gustafsson <dgustafsson@postgresql.org>
-2022-03-29 [ebc8b7d44] Enable SSL library detection via PQsslAttribute()
--->
-
-     <listitem>
-      <para>
-       Allow <function>PQsslAttribute()</function> to report the
-       <acronym>SSL</acronym> library type without requiring a libpq
-       connection (Jacob Champion)
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-01-18 [5987feb70] Make PQcancel use the PGconn's tcp_user_timeout and keep
--->
-
-     <listitem>
-      <para>
-       Change query cancellations sent by the client to use the same
-       <acronym>TCP</acronym> settings as normal client connections
-       (Jelte Fennema)
-      </para>
-
-      <para>
-       This allows configured <acronym>TCP</acronym> timeouts to apply
-       to query cancel connections.
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-18 [ce1e7a2f7] Don't let libpq "event" procs break the state of PGresul
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-18 [2e372869a] Don't let libpq PGEVT_CONNRESET callbacks break a PGconn
--->
-
-     <listitem>
-      <para>
-       Prevent libpq event callback failures from forcing an error result
-       (Tom Lane)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Client Applications</title>
-
-    <itemizedlist>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-01-09 [376ce3e40] Prefer $HOME when looking up the current user's home dir
--->
-
-     <listitem>
-      <para>
-       On Unix platforms, have client applications like <link
-       linkend="app-psql"><application>psql</application></link>
-       check <envar>HOME</envar> environment variable for the user's
-       home directory before checking the operating system definition
-       (Anders Kaseorg)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-     <sect4>
-      <title><xref linkend="app-psql"/></title>
-
-      <itemizedlist>
-
-<!--
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-2021-07-14 [eec57115e] In psql \copy from, send data to server in larger chunks
--->
-
-       <listitem>
-        <para>
-        Improve performance of <application>psql</application>'s \copy
-        command (Heikki Linnakangas)
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-20 [33d3eeadb] Add a \getenv command to psql.
--->
-
-      <listitem>
-       <para>
-        Add <application>psql</application> command \getenv
-        to assign the value of an environment variable to a
-        <application>psql</application> variable (Tom Lane)
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-01-06 [328dfbdab] Extend psql's \lo_list/\dl to be able to print large obj
--->
-
-      <listitem>
-       <para>
-        Add '+' option to <application>psql</application>'s
-        <literal>\lo_list</literal>/<literal>\dl</literal> to show object
-        privileges (Pavel Luzanov)
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-07 [3e707fbb4] psql: add \dconfig command to show server's configuratio
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-11 [5e70d8b5d] Tweak the default behavior of psql's \dconfig.
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-13 [139d46ee2] Further tweak the default behavior of psql's \dconfig.
--->
-
-      <listitem>
-       <para>
-        Add <application>psql</application> \dconfig to report server
-        variables (Mark Dilger, Tom Lane)
-       </para>
-
-       <para>
-        This is similar to the server-side <command>SHOW</command>
-        command but can process patterns.
-       </para>
-      </listitem>
-
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-2021-07-13 [7c09d2797] Add PSQL_WATCH_PAGER for psql's \watch command.
--->
-
-      <listitem>
-       <para>
-        Add pager option for <application>psql</application>'s \watch
-        command (Pavel Stehule, Thomas Munro)
-       </para>
-
-       <para>
-        This is only supported on Unix, and is controlled by
-        <envar>PSQL_WATCH_PAGER</envar>.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-01 [83884682f] psql: include intra-query "- -" comments in what's sent t
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-01 [c2f654930] psql: treat "- -" comments between queries as separate hi
--->
-
-      <listitem>
-       <para>
-        Have <application>psql</application> send intra-query double-hyphen
-        comments to the server (Tom Lane, Greg Nancarrow)
-       </para>
-
-       <para>
-        Previously such comments were removed from the query
-        before being sent.  Double-hyphen comments that are before
-        query text are not sent, and are not recorded as separate
-        <application>psql</application> history entries.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-01 [3d858af07] psql: initialize comment-begin setting to a useful value
--->
-
-      <listitem>
-       <para>
-        Adjust <application>psql</application>'s readline meta-# to insert
-        a double-hyphen comment marker (Tom Lane)
-       </para>
-
-       <para>
-        Previously an unhelpful pound marker was inserted.
-       </para>
-      </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-04-04 [7844c9918] psql: Show all query results by default
--->
-
-      <listitem>
-       <para>
-        Have <application>psql</application> output all results if multiple
-        queries are passed to the server at once (Fabien Coelho)
-       </para>
-
-       <para>
-        This can be disabled by setting <envar>SHOW_ALL_RESULTS</envar>.
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-08-10 [e2ce88b58] Add tab completion for DECLARE .. ASENSITIVE in psql
-Author: Michael Paquier <michael@paquier.xyz>
-2021-08-25 [346511313] Add tab completion for EXPLAIN .. EXECUTE in psql
-Author: Michael Paquier <michael@paquier.xyz>
-2021-08-30 [d3fa87657] Add more tab completion support for ALTER TABLE ADD in p
-Author: Michael Paquier <michael@paquier.xyz>
-2021-08-31 [f2bbadce6] Add tab completion for data types after ALTER TABLE ADD
-Author: Fujii Masao <fujii@postgresql.org>
-2021-09-01 [b0c066297] Improve tab-completion for CREATE PUBLICATION.
-Author: Fujii Masao <fujii@postgresql.org>
-2021-10-05 [0b0d277c3] psql: Improve tab-completion for LOCK TABLE.
-Author: Michael Paquier <michael@paquier.xyz>
-2021-11-05 [a5b336b8b] Improve psql tab completion for COMMENT
-Author: Michael Paquier <michael@paquier.xyz>
-2021-11-19 [0cd6d3b3c] Improve psql tab completion for transforms, domains and
-Author: Michael Paquier <michael@paquier.xyz>
-2021-11-29 [f44ceb46e] Improve psql tab completion for views, FDWs, sequences a
-Author: Michael Paquier <michael@paquier.xyz>
-2021-12-01 [9270778f4] Improve psql tab completion for various DROP commands
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-01-03 [dfe67c0e8] Tab completion: don't offer valid constraints in VALIDAT
-Author: Fujii Masao <fujii@postgresql.org>
-2022-01-15 [74527c3e0] Add tab-completion for CREATE FOREIGN TABLE.
-Author: Peter Eisentraut <peter@eisentraut.org>
-2022-01-27 [fefce9ef9] psql: Add tab completion for ALTER COLLATION / REFRESH V
-Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
-2022-01-28 [95787e849] Tab-complete ALTER PUBLICATION ADD TABLE with list of ta
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-01-30 [02b8048ba] psql: improve tab-complete's handling of variant SQL nam
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-01 [020258fbd] Treat case of tab-completion keywords a bit more careful
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-02-09 [f0cd9097c] Further tweaks for psql's new tab-completion logic.
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-03-20 [7fa3db367] psql: handle tab completion of timezone names after "SET
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2022-03-25 [2d2232933] Update tab-completion for CREATE PUBLICATION with sequen
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-04-13 [b5607b074] Fix case sensitivity in psql's tab completion for GUC na
--->
-
-      <listitem>
-       <para>
-        Improve <application>psql</application>'s tab completion (Shinya
-        Kato, Dagfinn Ilmari Mannsåker, Peter Smith, Koyu Tanigawa,
-        Ken Kato, David Fetter, Haiying Tang, Peter Eisentraut, Álvaro
-        Herrera, Tom Lane, Masahiko Sawada)
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-16 [cf0cab868] Remove psql support for server versions preceding 9.2.
--->
-
-      <listitem>
-       <para>
-        Limit support of <application>psql</application> to servers running
-        <productname>PostgreSQL</productname> 9.2 and later (Tom Lane)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Server Applications</title>
-
-    <itemizedlist>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-20 [3500ccc39] Support base backup targets.
--->
-
-     <listitem>
-      <para>
-       Add new <link
-       linkend="app-pgbasebackup"><application>pg_basebackup</application></link>
-       option <option>--target</option> to control the base backup location
-       (Robert Haas)
-      </para>
-
-      <para>
-       New output options are <literal>server</literal> to write the
-       backup locally and <literal>blackhole</literal> to discard the
-       backup (for testing).
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-02-11 [751b8d23b] pg_basebackup: Allow client-side LZ4 (de)compression.
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-08 [7cf085f07] Add support for zstd base backup compression.
--->
-
-     <listitem>
-      <para>
-       Allow <application>pg_basebackup</application> to use LZ4 and
-       Zstandard compression on server-side base backup files (Dipesh
-       Pandit, Jeevan Ladhe)
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-01-21 [5c649fe15] Extend the options of pg_basebackup to control compressi
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-24 [0ad803291] Server-side gzip compression.
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-25 [e1f860f13] Tidy up a few cosmetic issues related to pg_basebackup.
--->
-
-     <listitem>
-      <para>
-       Allow <application>pg_basebackup</application>'s
-       <option>--compress</option> option to control the compression
-       method and options (Michael Paquier, Robert Haas)
-      </para>
-
-      <para>
-       New options include <literal>server-gzip</literal> (gzip
-       on the server), <literal>client-gzip</literal> (same as
-       <literal>gzip</literal>).
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-28 [d45099425] Allow server-side compression to be used with -Fp.
--->
-
-     <listitem>
-      <para>
-       Allow <application>pg_basebackup</application> to compress on
-       the server side and decompress on the client side before storage
-       (Dipesh Pandit)
-      </para>
-
-      <para>
-       This is accomplished by specifying compression on the server side
-       and plain output format.
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-11-05 [babbbb595] Add support for LZ4 compression in pg_receivewal
-Author: Michael Paquier <michael@paquier.xyz>
-2022-04-13 [042a923ad] Rework compression options of pg_receivewal
--->
-
-     <listitem>
-      <para>
-       Add the LZ4 compression method to <link
-       linkend="app-pgreceivewal"><application>pg_receivewal</application></link>
-       (Georgios Kokolatos)
-      </para>
-
-      <para>
-       This is enabled via <literal>--compress=lz4</literal> and requires
-       binaries to be built using <option>--with-lz4</option>.
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-11-04 [d62bcc8b0] Rework compression options of pg_receivewal
--->
-
-     <listitem>
-      <para>
-       Add additional capabilities to
-       <application>pg_receivewal</application>'s
-       <option>--compress</option> option (Georgios Kokolatos)
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-10-26 [f61e1dd2c] Allow pg_receivewal to stream from a slot's restart LSN
--->
-
-     <listitem>
-      <para>
-       Improve <application>pg_receivewal</application>'s ability to
-       restart at the proper <acronym>WAL</acronym> location (Ronan
-       Dunklau)
-      </para>
-
-      <para>
-       Previously, <application>pg_receivewal</application> would start
-       based on the <acronym>WAL</acronym> file stored in the local archive
-       directory, or at the sending server's current <acronym>WAL</acronym>
-       flush location.  With this change, if the sending server is running
-       Postgres 15 or later, the local archive directory is empty, and
-       a replication slot is specified, the replication slot's restart
-       point will be used.
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-04-07 [0d5c38757] Add option - -config-file to pg_rewind
--->
-
-     <listitem>
-      <para>
-       Add <application>pg_rewind</application> option
-       <option>--config-file</option> to simplify use when server
-       configuration files are stored outside the data directory (Gunnar
-       Bluth)
-      </para>
-     </listitem>
-
-<!--
-Author: Tatsuo Ishii <ishii@postgresql.org>
-2022-03-23 [4a39f87ac] Allow pgbench to retry in some cases.
--->
-
-     <listitem>
-      <para>
-       Allow <link
-       linkend="pgbench"><application>pgbench</application></link> to
-       retry after serialization and deadlock failures (Yugo Nagata,
-       Marina Polyakova)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-    <sect4>
-     <title><link linkend="app-pgdump"><application>pg_dump</application></link></title>
-
-     <itemizedlist>
-
-<!--
-Author: Noah Misch <noah@leadboat.com>
-2021-06-28 [a7a7be1f2] Dump public schema ownership and security labels.
-Author: Noah Misch <noah@leadboat.com>
-2021-06-28 [7ac10f692] Dump COMMENT ON SCHEMA public.
--->
-
-      <listitem>
-       <para>
-        Have <application>pg_dump</application> dump
-        <literal>public</literal> schema ownership changes and security
-        labels (Noah Misch)
-       </para>
-
-       <para>
-        It also dumps <literal>public</literal> schema comments.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-06 [989596152] Avoid per-object queries in performance-critical paths i
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-06 [be85727a3] Use PREPARE/EXECUTE for repetitive per-object queries in
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-31 [d5e8930f5] pg_dump: minor performance improvements from eliminating
--->
-
-      <listitem>
-       <para>
-        Improve performance of dumping databases with many objects
-        (Tom Lane)
-       </para>
-
-       <para>
-        This will also improve the performance of <link
-        linkend="pgupgrade"><application>pg_upgrade</application></link>.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-06 [65aaed22a] Account for TOAST data while scheduling parallel dumps.
--->
-
-      <listitem>
-       <para>
-        Improve the parallel <application>pg_dump</application> performance
-        of <acronym>TOAST</acronym> tables (Tom Lane)
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-01-17 [215862886] Add support for - -no-table-access-method in pg_{dump,dum
--->
-
-      <listitem>
-       <para>
-        Add dump/restore option <option>--no-table-access-method</option>
-        to force restore to only use the default table access method
-        (Justin Pryzby)
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-14 [30e7c175b] Remove pg_dump/pg_dumpall support for dumping from pre-9
--->
-
-      <listitem>
-       <para>
-        Limit support of <application>pg_dump</application> and <link
-        linkend="app-pg-dumpall"><application>pg_dumpall</application></link>
-        to servers running <productname>PostgreSQL</productname> 9.2 and
-        later (Tom Lane)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title><link linkend="pgupgrade"><application>pg_upgrade</application></link></title>
-
-     <itemizedlist>
-
-<!--
-Author: Andres Freund <andres@anarazel.de>
-2022-02-21 [27b02e070] pg_upgrade: Don't print progress status when output is n
--->
-
-      <listitem>
-       <para>
-        Disable default status reporting during
-        <application>pg_upgrade</application> operation if the output is
-        not a terminal (Andres Freund)
-       </para>
-
-       <para>
-        The status reporting output can be enabled for non-tty usage by
-        using <option>--verbose</option>.
-       </para>
-      </listitem>
-
-<!--
-Author: Daniel Gustafsson <dgustafsson@postgresql.org>
-2022-03-24 [26ebb0e28] List offending databases in pg_upgrade datallowconn chec
--->
-
-      <listitem>
-       <para>
-        Have <application>pg_upgrade</application> report all databases
-        with invalid connection settings (Jeevan Ladhe)
-       </para>
-
-       <para>
-        Previously only the first database with an invalid connection
-        setting was reported.
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-02-06 [38bfae365] pg_upgrade: Move all the files generated internally to a
-Author: Michael Paquier <michael@paquier.xyz>
-2022-02-15 [a00849630] Fix thinko with subdirectories generated by pg_upgrade f
--->
-
-      <listitem>
-       <para>
-        Store <application>pg_upgrade</application>
-        temporary files in a new cluster subdirectory called
-        <filename>pg_upgrade_output.d</filename> (Justin Pryzby)
-       </para>
-
-       <para>
-        Previously temporary files were stored in the current directory.
-       </para>
-      </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-17 [9a974cbcb] pg_upgrade: Preserve relfilenodes and tablespace OIDs.
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-24 [aa0105141] pg_upgrade: Preserve database OIDs.
--->
-
-      <listitem>
-       <para>
-        Have <application>pg_upgrade</application> preserve relfilenodes,
-        tablespace, and database OIDs between old and new clusters
-        (Shruthi KC, Antonin Houska)
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-12-18 [3d5ffccb6] Add option -N/- -no-sync to pg_upgrade
--->
-
-      <listitem>
-       <para>
-        Add a <option>--no-sync</option> option to
-        <application>pg_upgrade</application> (Michael Paquier)
-       </para>
-
-       <para>
-        This useful only for testing.
-       </para>
-      </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-14 [e469f0aaf] Remove pg_upgrade support for upgrading from pre-9.2 ser
--->
-
-      <listitem>
-       <para>
-        Limit support of <application>pg_upgrade</application> to old
-        servers running <productname>PostgreSQL</productname> 9.2 and later
-        (Tom Lane)
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-    <sect4>
-     <title><link linkend="pgwaldump"><application>pg_waldump</application></link></title>
-
-     <itemizedlist>
-
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-2022-03-24 [127aea2a6] Add additional filtering options to pg_waldump.
-Author: Thomas Munro <tmunro@postgresql.org>
-2022-03-25 [52b556843] Improve command line options for pg_waldump.
--->
-
-      <listitem>
-       <para>
-        Allow <application>pg_waldump</application> to be filtered by
-        relation file node, block number, fork number, and full page images
-        (David Christensen, Thomas Munro)
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-12-02 [f2c52eeba] pg_waldump: Emit stats summary when interrupted by SIGIN
--->
-
-      <listitem>
-       <para>
-        Have <application>pg_waldump</application> report statistics
-        before an interrupted exit (Bharath Rupireddy)
-       </para>
-
-       <para>
-        For example, issuing a control-C in a terminal running
-        <command>pg_waldump --stats --follow</command> will report the
-        current statistics before exiting.  This does not work on Windows.
-       </para>
-      </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-12-13 [c8b733c4c] Improve description of some WAL records with transaction
--->
-
-      <listitem>
-       <para>
-        Improve descriptions of some transaction <acronym>WAL</acronym>
-        records reported by <application>pg_waldump</application>
-        (Masahiko Sawada, Michael Paquier)
-       </para>
-      </listitem>
-
-<!--
-Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
-2021-07-01 [c8bf5098c] Allow specifying pg_waldump - -rmgr option multiple times
--->
-
-      <listitem>
-       <para>
-        Allow <application>pg_waldump</application> to dump information
-        about multiple resource managers (Heikki Linnakangas)
-       </para>
-
-       <para>
-        This is enabled by specifying the <option>--rmgr</option> option
-        multiple times.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-   <sect3>
-    <title>Documentation</title>
-
-    <itemizedlist>
-
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-2021-10-05 [f6b5d05ba] doc: Document pg_encoding_to_char() and pg_char_to_encod
--->
-
-     <listitem>
-      <para>
-       Add documentation for <link
-       linkend="functions-info-catalog-table"><function>pg_encoding_to_char()</function></link>
-       and <function>pg_char_to_encoding()</function> (Ian Lawrence
-       Barwick)
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-10-09 [2ae5d72f0] Doc: improve documentation for ^@ starts-with operator.
--->
-
-     <listitem>
-      <para>
-       Document the <link
-       linkend="functions-string-other"><literal>^@</literal></link>
-       starts-with operator (Tom Lane)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Source Code</title>
-
-    <itemizedlist>
-
-<!--
-Author: Andres Freund <andres@anarazel.de>
-2021-12-30 [93d973494] ci: Add continuous integration for github repositories v
--->
-
-     <listitem>
-      <para>
-       Add support for continuous integration testing using cirrus-ci
-       (Andres Freund, Thomas Munro, Melanie Plageman)
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-02-18 [6c417bbcc] Add support for building with ZSTD.
--->
-
-     <listitem>
-      <para>
-       Add configure option <link
-       linkend="configure-options-features"><option>--with-zstd</option></link>
-       to enable Zstandard builds (Jeevan Ladhe, Robert Haas, Michael
-       Paquier)
-      </para>
-     </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2021-11-22 [d6d1dfcc9] Add ABI extra field to fmgr magic block
--->
-
-     <listitem>
-      <para>
-       Add module field which can be customized for non-community
-       <productname>PostgreSQL</productname> distributions (Peter
-       Eisentraut)
-      </para>
-
-      <para>
-       A module field mismatch would generate an error.
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-12-11 [07eee5a0d] Create a new type category for "internal use" types.
--->
-
-     <listitem>
-      <para>
-       Create a new <link
-       linkend="catalog-pg-type"><structfield>pg_type.typcategory</structfield></link>
-       value for <type>"char"</type> (Tom Lane)
-      </para>
-
-      <para>
-       Some internal-use-only types have also been assigned this column.
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-18 [cc333f323] Modify pg_basebackup to use a new COPY subprotocol for b
--->
-
-     <listitem>
-      <para>
-       Add new protocol message <link
-       linkend="protocol-replication-base-backup"><literal>TARGET</literal></link>
-       to specify a new <command>COPY</command> method to be for base
-       backups (Robert Haas)
-      </para>
-
-      <para>
-       Modify <link
-       linkend="app-pgbasebackup"><application>pg_basebackup</application></link>
-       to use this method.
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-01-24 [0ad803291] Server-side gzip compression.
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-23 [ffd53659c] Replace BASE_BACKUP COMPRESSION_LEVEL option with COMPRE
--->
-
-     <listitem>
-      <para>
-       Add new protocol message <link
-       linkend="protocol-replication-base-backup"><literal>COMPRESSION</literal></link>
-       and <literal>COMPRESSION_DETAIL</literal> to specify the compression
-       method and options (Robert Haas)
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-02-10 [9cd28c2e5] Remove server support for old BASE_BACKUP command syntax
-Author: Robert Haas <rhaas@postgresql.org>
-2022-02-10 [0d4513b61] Remove server support for the previous base backup proto
--->
-
-     <listitem>
-      <para>
-       Remove server support for old <literal>BASE_BACKUP</literal>
-       command syntax and base backup protocol (Robert Haas)
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-15 [e4ba69f3f] Allow extensions to add new backup targets.
--->
-
-     <listitem>
-      <para>
-       Add support for extensions to set custom backup targets (Robert
-       Haas)
-      </para>
-     </listitem>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2022-04-06 [5c279a6d3] Custom WAL Resource Managers.
--->
-
-     <listitem>
-      <para>
-       Allow extensions to define their own <acronym>WAL</acronym>
-       resource managers (Jeff Davis)
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-01-31 [d10e41d42] Introduce pg_settings_get_flags() to find flags associat
--->
-
-     <listitem>
-      <para>
-       Add function <link
-       linkend="functions-info-catalog-table"><function>pg_settings_get_flags()</function></link>
-       to get the flags of server-side variables (Justin Pryzby)
-      </para>
-     </listitem>
-
-<!--
-Author: Thomas Munro <tmunro@postgresql.org>
-2022-01-15 [7170f2159] Allow "in place" tablespaces.
--->
-
-     <listitem>
-      <para>
-       Add server variable <link
-       linkend="guc-allow-in-place-tablespaces"><varname>allow_in_place_tablespaces</varname></link>
-       for tablespace testing (Thomas Munro)
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-04-08 [8ec569479] Apply PGDLLIMPORT markings broadly.
--->
-
-     <listitem>
-      <para>
-       Export all server variables on Windows using
-       <literal>PGDLLIMPORT</literal> (Robert Haas)
-      </para>
-
-      <para>
-       Previously only specific variables where exported.
-      </para>
-     </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2021-11-05 [db7d1a7b0] pgcrypto: Remove non-OpenSSL support
--->
-
-     <listitem>
-      <para>
-       Require OpenSSL to build <link
-       linkend="pgcrypto"><application>pgcrypto</application></link>
-       binaries (Peter Eisentraut)
-      </para>
-     </listitem>
-
-<!--
-Author: Andres Freund <andres@anarazel.de>
-2022-02-16 [19252e8ec] plpython: Reject Python 2 during build configuration.
--->
-
-     <listitem>
-      <para>
-       Disallow building with <application>Python 2</application>
-       (Andres Freund)
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-10-07 [92e6a98c3] Adjust configure to insist on Perl version &gt;= 5.8.3.
--->
-
-     <listitem>
-      <para>
-       Adjust configure to require <application>Perl</application>
-       version 5.8.3 or later (Dagfinn Ilmari Mannsåker)
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-   </sect3>
-
-   <sect3>
-    <title>Additional Modules</title>
-
-    <itemizedlist>
-
-<!--
-Author: Jeff Davis <jdavis@postgresql.org>
-2022-04-08 [2258e76f9] Add contrib/pg_walinspect.
--->
-
-     <listitem>
-      <para>
-       Add new module <link
-       linkend="pgwalinspect"><application>pg_walinspect</application></link>
-       (Bharath Rupireddy)
-      </para>
-
-      <para>
-       This gives <acronym>SQL</acronym>-level output similar to <link
-       linkend="pgwaldump"><application>pg_waldump</application></link>.
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-02-03 [5ef1eefd7] Allow archiving via loadable modules.
--->
-
-     <listitem>
-      <para>
-       Add module <link
-       linkend="basic-archive"><application>basic_archive</application></link>
-       to perform archiving via a library (Nathan Bossart)
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-15 [c6306db24] Add 'basebackup_to_shell' contrib module.
-Author: Robert Haas <rhaas@postgresql.org>
-2022-03-30 [26a0c025e] Document basebackup_to_shell.required_role.
--->
-
-     <listitem>
-      <para>
-       Add module <application><link
-       linkend="basebackup-to-shell">basebackup_to_shell</link></application>
-       as a custom backup target (Robert Haas) contrib module.
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2022-04-08 [76cbf7edb] pg_stat_statements: Track I/O timing for temporary file
--->
-
-     <listitem>
-      <para>
-       Add <link
-       linkend="pgstatstatements"><application>pg_stat_statements</application></link>
-       output for temporary file block I/O (Masahiko Sawada)
-      </para>
-     </listitem>
-
-<!--
-Author: Magnus Hagander <magnus@hagander.net>
-2022-04-08 [57d6aea00] Add JIT counters to pg_stat_statements
--->
-
-     <listitem>
-      <para>
-       Add <acronym>JIT</acronym> counters to pg_stat_statements (Magnus
-       Hagander)
-      </para>
-     </listitem>
-
-<!--
-Author: Peter Eisentraut <peter@eisentraut.org>
-2021-09-28 [c3b011d99] Support amcheck of sequences
--->
-
-     <listitem>
-      <para>
-       Allow <link
-       linkend="amcheck"><application>amcheck</application></link> to
-       check sequences (Mark Dilger)
-      </para>
-     </listitem>
-
-<!--
-Author: Robert Haas <rhaas@postgresql.org>
-2021-11-05 [bd807be69] amcheck: Add additional TOAST pointer checks.
--->
-
-     <listitem>
-      <para>
-       Improve <application>amcheck</application> sanity checks for
-       <acronym>TOAST</acronym> tables (Mark Dilger)
-      </para>
-     </listitem>
-
-<!--
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2021-11-06 [57e3c5160] Add bool GiST opclass to btree_gist
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2021-11-08 [e2fbb8837] Fix gist_bool_ops to use gbtreekey2
-Author: Tomas Vondra <tomas.vondra@postgresql.org>
-2021-12-11 [4c6145b51] Add bool to btree_gist documentation
--->
-
-     <listitem>
-      <para>
-       Allow <link
-       linkend="btree-gist"><application>btree_gist</application></link>
-       indexes on boolean columns (Emre Hasegeli)
-      </para>
-
-      <para>
-       These can be used for exclusion constraints.
-      </para>
-     </listitem>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2022-01-12 [134d97463] Include permissive/enforcing state in sepgsql log messag
--->
-
-     <listitem>
-      <para>
-       Indicate the permissive/enforcing state in <link
-       linkend="sepgsql"><application>sepgsql</application></link> log
-       messages (Dave Page)
-      </para>
-     </listitem>
-
-<!--
-Author: Michael Paquier <michael@paquier.xyz>
-2021-07-12 [127404fbe] pageinspect: Improve page_header() for pages of 32kB
--->
-
-     <listitem>
-      <para>
-       Fix <link
-       linkend="pageinspect"><application>pageinspect</application></link>'s
-       <function>page_header()</function> to handle 32 kilobyte page sizes
-       (Quan Zongliang)
-      </para>
-
-      <para>
-       Previously improper negative values could be returned in certain
-       cases.
-      </para>
-     </listitem>
-
-    </itemizedlist>
-
-    <sect4>
-     <title><link linkend="postgres-fdw"><application>postgres_fdw</application></link></title>
-
-     <itemizedlist>
-
-<!--
-Author: Tom Lane <tgl@sss.pgh.pa.us>
-2021-07-30 [5d44fff01] In postgres_fdw, allow CASE expressions to be pushed to
--->
-
-      <listitem>
-       <para>
-        Allow postgres_fdw to push down <literal>CASE</literal> expressions
-        (Alexander Pyhalov)
-       </para>
-      </listitem>
-
-<!--
-Author: Fujii Masao <fujii@postgresql.org>
-2021-09-07 [449ab6350] postgres_fdw: Allow application_name of remote connectio
-Author: Fujii Masao <fujii@postgresql.org>
-2021-12-24 [6e0cb3dec] postgres_fdw: Allow postgres_fdw.application_name to inc
-Author: Fujii Masao <fujii@postgresql.org>
-2022-02-18 [94c49d534] postgres_fdw: Make postgres_fdw.application_name support
--->
-
-      <listitem>
-       <para>
-        Add server variable
-        <varname>postgres_fdw.application_name</varname> to control the
-        application name of postgres_fdw connections (Hayato Kuroda)
-       </para>
-
-       <para>
-        Previously the remote <link
-        linkend="guc-application-name"><varname>application_name</varname></link>
-        could only be set on the remote server or via
-        <application>postgres_fdw</application> connection specification.
-        <varname>postgres_fdw.application_name</varname> also supports
-        escape sequences for customization.
-       </para>
-      </listitem>
-
-<!--
-Author: Etsuro Fujita <efujita@postgresql.org>
-2022-02-24 [04e706d42] postgres_fdw: Add support for parallel commit.
--->
-
-      <listitem>
-       <para>
-        Allow parallel commit on <application>postgres_fdw</application>
-        servers (Etsuro Fujita)
-       </para>
-
-       <para>
-        This is enabled with the <literal>CREATE SERVER</literal> option
-        <literal>parallel_commit</literal> when using postgres_fdw.
-       </para>
-      </listitem>
-
-     </itemizedlist>
-
-    </sect4>
-
-   </sect3>
-
-  </sect2>
-
-  <sect2 id="release-15-acknowledgements">
-   <title>Acknowledgments</title>
-
-   <para>
-    The following individuals (in alphabetical order) have contributed
-    to this release as patch authors, committers, reviewers, testers,
-    or reporters of issues.
-   </para>
-
-   <simplelist>
-    <member></member>
-   </simplelist>
-  </sect2>
-
- </sect1>
diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml
new file mode 100644 (file)
index 0000000..7f0794c
--- /dev/null
@@ -0,0 +1,16 @@
+<!-- doc/src/sgml/release-16.sgml -->
+<!-- See header comment in release.sgml about typical markup -->
+
+<sect1 id="release-16">
+ <title>Release 16</title>
+
+ <formalpara>
+  <title>Release date:</title>
+  <para>2023-??-??</para>
+ </formalpara>
+
+ <para>
+  This is just a placeholder for now.
+ </para>
+
+</sect1>
index 3ea5024956f0e7f0d1cf2e08c92df15d60574cb9..1303e86cfa2d632da70033be5c80b70074dc8a70 100644 (file)
@@ -81,7 +81,7 @@ For new features, add links to the documentation sections.
   All the active branches have to be edited concurrently when doing that.
 -->
 
-&release-15;
+&release-16;
 
  <sect1 id="release-prior">
   <title>Prior Releases</title>
index 189cfc889d94fb8fdd4c349ff7a9f072c8acd576..ad17b337311f582dce70f585eb450350dff5cfbb 100755 (executable)
@@ -59,7 +59,7 @@ require IPC::Open2;
 # (We could get this from "git branches", but not worth the trouble.)
 # NB: master must be first!
 my @BRANCHES = qw(master
-  REL_14_STABLE REL_13_STABLE
+  REL_15_STABLE REL_14_STABLE REL_13_STABLE
   REL_12_STABLE REL_11_STABLE REL_10_STABLE REL9_6_STABLE REL9_5_STABLE
   REL9_4_STABLE REL9_3_STABLE REL9_2_STABLE REL9_1_STABLE REL9_0_STABLE
   REL8_4_STABLE REL8_3_STABLE REL8_2_STABLE REL8_1_STABLE REL8_0_STABLE
index bf8fdfb3ac1c435e418b6973f5983bc900664dc6..9d4f44d4a95b49a91f9b9887a82067a2a4ee1334 100755 (executable)
@@ -25,7 +25,7 @@ use warnings;
 
 # Major version is hard-wired into the script.  We update it when we branch
 # a new development version.
-my $majorversion = 15;
+my $majorversion = 16;
 
 # Validate argument and compute derived variables
 my $minor = shift;