aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/func.sgml6
-rw-r--r--doc/src/sgml/libpq.sgml2
-rw-r--r--doc/src/sgml/logicaldecoding.sgml54
-rw-r--r--doc/src/sgml/plpython.sgml2
-rw-r--r--doc/src/sgml/ref/create_table.sgml17
-rw-r--r--doc/src/sgml/ref/pg_dump.sgml2
-rw-r--r--doc/src/sgml/ref/pg_dumpall.sgml7
-rw-r--r--doc/src/sgml/ref/pg_restore.sgml4
-rw-r--r--doc/src/sgml/release-18.sgml142
9 files changed, 150 insertions, 86 deletions
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index c67688cbf5f..8d7d9a2f3e8 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -29698,7 +29698,7 @@ postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset
</row>
<row>
- <entry role="func_table_entry"><para role="func_signature">
+ <entry id="pg-logical-slot-get-binary-changes" role="func_table_entry"><para role="func_signature">
<indexterm>
<primary>pg_logical_slot_get_binary_changes</primary>
</indexterm>
@@ -29970,7 +29970,9 @@ postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset
standby server. Temporary synced slots, if any, cannot be used for
logical decoding and must be dropped after promotion. See
<xref linkend="logicaldecoding-replication-slots-synchronization"/> for details.
- Note that this function cannot be executed if
+ Note that this function is primarily intended for testing and
+ debugging purposes and should be used with caution. Additionaly,
+ this function cannot be executed if
<link linkend="guc-sync-replication-slots"><varname>
sync_replication_slots</varname></link> is enabled and the slotsync
worker is already running to perform the synchronization of slots.
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 08bd5121926..298c4b38ef9 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/libpq.sgml -->
-<chapter id="libpq">
+<chapter id="libpq" xreflabel="libpq">
<title><application>libpq</application> &mdash; C Library</title>
<indexterm zone="libpq">
diff --git a/doc/src/sgml/logicaldecoding.sgml b/doc/src/sgml/logicaldecoding.sgml
index dd9e83b08ea..5c5957e0d37 100644
--- a/doc/src/sgml/logicaldecoding.sgml
+++ b/doc/src/sgml/logicaldecoding.sgml
@@ -370,10 +370,10 @@ postgres=# select * from pg_logical_slot_get_changes('regression_slot', NULL, NU
<function>pg_create_logical_replication_slot</function></link>, or by
using the <link linkend="sql-createsubscription-params-with-failover">
<literal>failover</literal></link> option of
- <command>CREATE SUBSCRIPTION</command> during slot creation, and then calling
- <link linkend="pg-sync-replication-slots">
- <function>pg_sync_replication_slots</function></link>
- on the standby. By setting <link linkend="guc-sync-replication-slots">
+ <command>CREATE SUBSCRIPTION</command> during slot creation.
+ Additionally, enabling <link linkend="guc-sync-replication-slots">
+ <varname>sync_replication_slots</varname></link> on the standby
+ is required. By enabling <link linkend="guc-sync-replication-slots">
<varname>sync_replication_slots</varname></link>
on the standby, the failover slots can be synchronized periodically in
the slotsync worker. For the synchronization to work, it is mandatory to
@@ -398,6 +398,52 @@ postgres=# select * from pg_logical_slot_get_changes('regression_slot', NULL, NU
receiving the WAL up to the latest flushed position on the primary server.
</para>
+ <note>
+ <para>
+ While enabling <link linkend="guc-sync-replication-slots">
+ <varname>sync_replication_slots</varname></link> allows for automatic
+ periodic synchronization of failover slots, they can also be manually
+ synchronized using the <link linkend="pg-sync-replication-slots">
+ <function>pg_sync_replication_slots</function></link> function on the standby.
+ However, this function is primarily intended for testing and debugging and
+ should be used with caution. Unlike automatic synchronization, it does not
+ include cyclic retries, making it more prone to synchronization failures,
+ particularly during initial sync scenarios where the required WAL files
+ or catalog rows for the slot may have already been removed or are at risk
+ of being removed on the standby. In contrast, automatic synchronization
+ via <varname>sync_replication_slots</varname> provides continuous slot
+ updates, enabling seamless failover and supporting high availability.
+ Therefore, it is the recommended method for synchronizing slots.
+ </para>
+ </note>
+
+ <para>
+ When slot synchronization is configured as recommended,
+ and the initial synchronization is performed either automatically or
+ manually via pg_sync_replication_slot, the standby can persist the
+ synchronized slot only if the following condition is met: The logical
+ replication slot on the primary must retain WALs and system catalog
+ rows that are still available on the standby. This ensures data
+ integrity and allows logical replication to continue smoothly after
+ promotion.
+ If the required WALs or catalog rows have already been purged from the
+ standby, the slot will not be persisted to avoid data loss. In such
+ cases, the following log message may appear:
+<programlisting>
+ LOG: could not synchronize replication slot "failover_slot"
+ DETAIL: Synchronization could lead to data loss as the remote slot needs WAL at LSN 0/3003F28 and catalog xmin 754, but the standby has LSN 0/3003F28 and catalog xmin 756
+</programlisting>
+ If the logical replication slot is actively used by a consumer, no
+ manual intervention is needed; the slot will advance automatically,
+ and synchronization will resume in the next cycle. However, if no
+ consumer is configured, it is advisable to manually advance the slot
+ on the primary using <link linkend="pg-logical-slot-get-changes">
+ <function>pg_logical_slot_get_changes</function></link> or
+ <link linkend="pg-logical-slot-get-binary-changes">
+ <function>pg_logical_slot_get_binary_changes</function></link>,
+ allowing synchronization to proceed.
+ </para>
+
<para>
The ability to resume logical replication after failover depends upon the
<link linkend="view-pg-replication-slots">pg_replication_slots</link>.<structfield>synced</structfield>
diff --git a/doc/src/sgml/plpython.sgml b/doc/src/sgml/plpython.sgml
index bee817ea822..cb065bf5f88 100644
--- a/doc/src/sgml/plpython.sgml
+++ b/doc/src/sgml/plpython.sgml
@@ -1,6 +1,6 @@
<!-- doc/src/sgml/plpython.sgml -->
-<chapter id="plpython">
+<chapter id="plpython" xreflabel="PL/Python">
<title>PL/Python &mdash; Python Procedural Language</title>
<indexterm zone="plpython"><primary>PL/Python</primary></indexterm>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 4a41b2f5530..a5816918182 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -448,11 +448,6 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
</para>
<para>
- Partitioned tables do not support <literal>EXCLUDE</literal> constraints;
- however, you can define these constraints on individual partitions.
- </para>
-
- <para>
See <xref linkend="ddl-partitioning"/> for more discussion on table
partitioning.
</para>
@@ -1162,6 +1157,18 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM
exclusion constraint on a subset of the table; internally this creates a
partial index. Note that parentheses are required around the predicate.
</para>
+
+ <para>
+ When establishing an exclusion constraint for a multi-level partition
+ hierarchy, all the columns in the partition key of the target
+ partitioned table, as well as those of all its descendant partitioned
+ tables, must be included in the constraint definition. Additionally,
+ those columns must be compared using the equality operator. These
+ restrictions ensure that potentially-conflicting rows will exist in the
+ same partition. The constraint may also refer to other columns which
+ are not a part of any partition key, which can be compared using any
+ appropriate operator.
+ </para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 1e06bd33bdc..0d927011654 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -18,7 +18,7 @@ PostgreSQL documentation
<refname>pg_dump</refname>
<refpurpose>
- extract a <productname>PostgreSQL</productname> database into a script file or other archive file
+ export a <productname>PostgreSQL</productname> database as an SQL script or to other formats
</refpurpose>
</refnamediv>
diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml
index 43f384ed16a..8ca68da5a55 100644
--- a/doc/src/sgml/ref/pg_dumpall.sgml
+++ b/doc/src/sgml/ref/pg_dumpall.sgml
@@ -16,7 +16,10 @@ PostgreSQL documentation
<refnamediv>
<refname>pg_dumpall</refname>
- <refpurpose>extract a <productname>PostgreSQL</productname> database cluster using a specified dump format</refpurpose>
+
+ <refpurpose>
+ export a <productname>PostgreSQL</productname> database cluster as an SQL script or to other formats
+ </refpurpose>
</refnamediv>
<refsynopsisdiv>
@@ -33,7 +36,7 @@ PostgreSQL documentation
<para>
<application>pg_dumpall</application> is a utility for writing out
(<quote>dumping</quote>) all <productname>PostgreSQL</productname> databases
- of a cluster into an archive. The archive contains
+ of a cluster into an SQL script file or an archive. The output contains
<acronym>SQL</acronym> commands that can be used as input to <xref
linkend="app-psql"/> to restore the databases. It does this by
calling <xref linkend="app-pgdump"/> for each database in the cluster.
diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml
index 8c88b07dcc8..b649bd3a5ae 100644
--- a/doc/src/sgml/ref/pg_restore.sgml
+++ b/doc/src/sgml/ref/pg_restore.sgml
@@ -18,8 +18,8 @@ PostgreSQL documentation
<refname>pg_restore</refname>
<refpurpose>
- restore a <productname>PostgreSQL</productname> database or cluster
- from an archive created by <application>pg_dump</application> or
+ restore <productname>PostgreSQL</productname> databases from archives
+ created by <application>pg_dump</application> or
<application>pg_dumpall</application>
</refpurpose>
</refnamediv>
diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml
index e89a86b1aa8..11a4f99a272 100644
--- a/doc/src/sgml/release-18.sgml
+++ b/doc/src/sgml/release-18.sgml
@@ -60,13 +60,13 @@ Author: Peter Eisentraut <peter@eisentraut.org>
<listitem>
<para>
-Change <application>initdb</application> default to enable data checksums (Greg Sabino Mullane)
+Change <xref linkend="app-initdb"/> default to enable data checksums (Greg Sabino Mullane)
<ulink url="&commit_baseurl;04bec894a04">&sect;</ulink>
</para>
<para>
Checksums can be disabled with the new <application>initdb</application> option <option>--no-data-checksums</option>.
-<application>pg_upgrade</application> requires matching cluster checksum settings, so this new
+<xref linkend="pgupgrade"/> requires matching cluster checksum settings, so this new
option can be useful to upgrade non-checksum old clusters.
</para>
</listitem>
@@ -100,7 +100,7 @@ Deprecate MD5 password authentication (Nathan Bossart)
</para>
<para>
-Support for MD5 passwords will be removed in a future major version release. <command>CREATE ROLE</command> and <command>ALTER ROLE</command> now emit deprecation warnings when setting MD5 passwords.
+Support for MD5 passwords will be removed in a future major version release. <xref linkend="sql-createrole"/> and <xref linkend="sql-alterrole"/> now emit deprecation warnings when setting MD5 passwords.
These warnings can be disabled by setting the <xref linkend="guc-md5-password-warnings"/> parameter to <literal>off</literal>.
</para>
</listitem>
@@ -112,7 +112,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
-Change <command>VACUUM</command> and <command>ANALYZE</command> to process the inheritance children of a parent (Michael Harris)
+Change <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> to process the inheritance children of a parent (Michael Harris)
<ulink url="&commit_baseurl;62ddf7ee9">&sect;</ulink>
</para>
@@ -130,13 +130,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<listitem>
<para>
-Prevent <command>COPY FROM</command> from treating <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane)
+Prevent <link linkend="sql-copy"><command>COPY FROM</command></link> from treating <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane)
<ulink url="&commit_baseurl;770233748">&sect;</ulink>
<ulink url="&commit_baseurl;da8a4c166">&sect;</ulink>
</para>
<para>
-<application>psql</application> will still treat <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files from <literal>STDIN</literal>. Older <application>psql</application> clients connecting to <productname>PostgreSQL</productname> 18 servers might
+<xref linkend="app-psql"/> will still treat <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files from <literal>STDIN</literal>. Older <application>psql</application> clients connecting to <productname>PostgreSQL</productname> 18 servers might
experience <literal>\copy</literal> problems. This
release also enforces that <literal>\.</literal> must appear alone on a line.
</para>
@@ -154,7 +154,7 @@ Disallow unlogged partitioned tables (Michael Paquier)
</para>
<para>
-Previously <command>ALTER TABLE SET [UN]LOGGED</command> did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.
+Previously <link linkend="sql-altertable"><command>ALTER TABLE SET [UN]LOGGED</command></link> did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.
</para>
</listitem>
@@ -170,7 +170,7 @@ Execute <literal>AFTER</literal> triggers as the role that was active when trigg
</para>
<para>
-Previously such triggers were run as the role that was active at trigger execution time (e.g., at <command>COMMIT</command>). This is significant for cases where the role is changed between queue time and
+Previously such triggers were run as the role that was active at trigger execution time (e.g., at <xref linkend="sql-commit"/>). This is significant for cases where the role is changed between queue time and
transaction commit.
</para>
</listitem>
@@ -182,7 +182,7 @@ Author: Fujii Masao <fujii@postgresql.org>
<listitem>
<para>
-Remove non-functional support for rule privileges in <command>GRANT</command>/<command>REVOKE</command> (Fujii Masao)
+Remove non-functional support for rule privileges in <xref linkend="sql-grant"/>/<xref linkend="sql-revoke"/> (Fujii Masao)
<ulink url="&commit_baseurl;fefa76f70">&sect;</ulink>
</para>
@@ -198,7 +198,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
-Remove column <structname>pg_backend_memory_contexts</structname>.<structfield>parent</structfield> (Melih Mutlu)
+Remove column <link linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>parent</structfield> (Melih Mutlu)
<ulink url="&commit_baseurl;f0d112759">&sect;</ulink>
</para>
@@ -319,7 +319,7 @@ Author: Richard Guo <rguo@postgresql.org>
<listitem>
<para>
-Allow the keys of <command>SELECT DISTINCT</command> to be internally reordered to avoid sorting (Richard Guo)
+Allow the keys of <link linkend="sql-select"><command>SELECT DISTINCT</command></link> to be internally reordered to avoid sorting (Richard Guo)
<ulink url="&commit_baseurl;a8ccf4e93">&sect;</ulink>
</para>
@@ -607,7 +607,7 @@ Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavu
<para>
This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc.
This is enabled by server variable <xref linkend="guc-io-method"/>, with server variables <xref linkend="guc-io-combine-limit"/> and <xref linkend="guc-io-max-combine-limit"/> added to control it. This also enables
-<xref linkend="guc-effective-io-concurrency"/> and <xref linkend="guc-maintenance-io-concurrency"/> values greater than zero for systems without <function>fadvise()</function> support. The new system view <structname>pg_aios</structname> shows the file handles being used
+<xref linkend="guc-effective-io-concurrency"/> and <xref linkend="guc-maintenance-io-concurrency"/> values greater than zero for systems without <function>fadvise()</function> support. The new system view <link linkend="view-pg-aios"><structname>pg_aios</structname></link> shows the file handles being used
for asynchronous I/O.
</para>
</listitem>
@@ -679,7 +679,7 @@ Author: Nathan Bossart <nathan@postgresql.org>
<listitem>
<para>
-Add server variable <xref linkend="guc-vacuum-truncate"/> to control file truncation during <command>VACUUM</command> (Nathan Bossart, Gurjeet Singh)
+Add server variable <xref linkend="guc-vacuum-truncate"/> to control file truncation during <xref linkend="sql-vacuum"/> (Nathan Bossart, Gurjeet Singh)
<ulink url="&commit_baseurl;0164a0f9e">&sect;</ulink>
</para>
@@ -768,7 +768,7 @@ Add server variable <xref linkend="guc-log-lock-failures"/> to log lock acquisit
</para>
<para>
-Specifically it reports <command>SELECT ... NOWAIT</command> lock failures.
+Specifically it reports <link linkend="sql-select"><command>SELECT ... NOWAIT</command></link> lock failures.
</para>
</listitem>
@@ -779,7 +779,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
-Modify <structname>pg_stat_all_tables</structname> and its variants to report the time spent in <literal>VACUUM</literal>, <literal>ANALYZE</literal>, and their automatic variants (Sami Imseih)
+Modify <link linkend="monitoring-pg-stat-all-tables-view"><structname>pg_stat_all_tables</structname></link> and its variants to report the time spent in <literal>VACUUM</literal>, <literal>ANALYZE</literal>, and their automatic variants (Sami Imseih)
<ulink url="&commit_baseurl;30a6ed0ce">&sect;</ulink>
</para>
@@ -797,13 +797,13 @@ Author: Nathan Bossart <nathan@postgresql.org>
<listitem>
<para>
-Add delay time reporting to <command>VACUUM</command> and <command>ANALYZE</command> (Bertrand Drouvot, Nathan Bossart)
+Add delay time reporting to <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> (Bertrand Drouvot, Nathan Bossart)
<ulink url="&commit_baseurl;bb8dff999">&sect;</ulink>
<ulink url="&commit_baseurl;7720082ae">&sect;</ulink>
</para>
<para>
-This information appears in the autovacuum logs, the system views <structname>pg_stat_progress_vacuum</structname> and <structname>pg_stat_progress_analyze</structname>, and the output of <command>VACUUM</command> and <command>ANALYZE</command> when in <literal>VERBOSE</literal>
+This information appears in the autovacuum logs, the system views <link linkend="vacuum-progress-reporting"><structname>pg_stat_progress_vacuum</structname></link> and <link linkend="pg-stat-progress-analyze-view"><structname>pg_stat_progress_analyze</structname></link>, and the output of <command>VACUUM</command> and <command>ANALYZE</command> when in <literal>VERBOSE</literal>
mode; tracking must be enabled with the server variable <xref linkend="guc-track-cost-delay-timing"/>.
</para>
</listitem>
@@ -861,7 +861,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
-Add <structname>pg_stat_io</structname> columns to report I/O activity in bytes (Nazir Bilal Yavuz)
+Add <link linkend="monitoring-pg-stat-io-view"><structname>pg_stat_io</structname></link> columns to report I/O activity in bytes (Nazir Bilal Yavuz)
<ulink url="&commit_baseurl;f92c854cf">&sect;</ulink>
</para>
@@ -900,7 +900,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
-Change server variable <xref linkend="guc-track-wal-io-timing"/> to control tracking <acronym>WAL</acronym> timing in <structname>pg_stat_io</structname> instead of <structname>pg_stat_wal</structname> (Bertrand Drouvot)
+Change server variable <xref linkend="guc-track-wal-io-timing"/> to control tracking <acronym>WAL</acronym> timing in <structname>pg_stat_io</structname> instead of <link linkend="pg-stat-wal-view"><structname>pg_stat_wal</structname></link> (Bertrand Drouvot)
<ulink url="&commit_baseurl;6c349d83b">&sect;</ulink>
</para>
</listitem>
@@ -959,7 +959,7 @@ Author: Fujii Masao <fujii@postgresql.org>
<listitem>
<para>
-Add column <structname>pg_stat_checkpointer</structname>.<structfield>num_done</structfield> to report the number of completed checkpoints (Anton A. Melnikov)
+Add column <link linkend="monitoring-pg-stat-checkpointer-view"><structname>pg_stat_checkpointer</structname></link>.<structfield>num_done</structfield> to report the number of completed checkpoints (Anton A. Melnikov)
<ulink url="&commit_baseurl;559efce1d">&sect;</ulink>
</para>
@@ -991,7 +991,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
-Add columns to <structname>pg_stat_database</structname> to report parallel workers activity (Benoit Lobréau)
+Add columns to <link linkend="monitoring-pg-stat-database-view"><structname>pg_stat_database</structname></link> to report parallel workers activity (Benoit Lobréau)
<ulink url="&commit_baseurl;e7a9496de">&sect;</ulink>
</para>
@@ -1015,7 +1015,7 @@ Have query jumbling of arrays consider only the first and last array elements (D
</para>
<para>
-Jumbling is used by <application>pg_stat_statements</application>.
+Jumbling is used by <xref linkend="pgstatstatements"/>.
</para>
</listitem>
@@ -1042,7 +1042,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
-Add column <structname>pg_backend_memory_contexts</structname>.<structfield>type</structfield> to report the type of memory context (David Rowley)
+Add column <link linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>type</structfield> to report the type of memory context (David Rowley)
<ulink url="&commit_baseurl;12227a1d5">&sect;</ulink>
</para>
</listitem>
@@ -1102,7 +1102,7 @@ Author: Fujii Masao <fujii@postgresql.org>
<listitem>
<para>
-Allow <command>ALTER DEFAULT PRIVILEGES</command> to define large object default privileges (Takatsuka Haruka, Yugo Nagata, Laurenz Albe)
+Allow <xref linkend="sql-alterdefaultprivileges"/> to define large object default privileges (Takatsuka Haruka, Yugo Nagata, Laurenz Albe)
<ulink url="&commit_baseurl;0d6c47766">&sect;</ulink>
</para>
</listitem>
@@ -1378,7 +1378,7 @@ Author: Amit Kapila <akapila@postgresql.org>
<listitem>
<para>
-Change the default <command>CREATE SUBSCRIPTION</command> streaming option from <literal>off</literal> to <literal>parallel</literal> (Vignesh C)
+Change the default <xref linkend="sql-createsubscription"/> streaming option from <literal>off</literal> to <literal>parallel</literal> (Vignesh C)
<ulink url="&commit_baseurl;1bf1140be">&sect;</ulink>
</para>
</listitem>
@@ -1392,7 +1392,7 @@ Author: Amit Kapila <akapila@postgresql.org>
<listitem>
<para>
-Allow <command>ALTER SUBSCRIPTION</command> to change the replication slot's two-phase commit behavior (Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou)
+Allow <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to change the replication slot's two-phase commit behavior (Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou)
<ulink url="&commit_baseurl;1462aad2e">&sect;</ulink>
<ulink url="&commit_baseurl;4868c96bc">&sect;</ulink>
</para>
@@ -1422,7 +1422,7 @@ Log conflicts while applying logical replication changes (Zhijie Hou, Nisha Moon
</para>
<para>
-Also report in new columns of <structname>pg_stat_subscription_stats</structname>.
+Also report in new columns of <link linkend="monitoring-pg-stat-subscription-stats"><structname>pg_stat_subscription_stats</structname></link>.
</para>
</listitem>
@@ -1471,7 +1471,7 @@ Add <literal>OLD</literal>/<literal>NEW</literal> support to <literal>RETURNING<
</para>
<para>
-Previously <literal>RETURNING</literal> only returned new values for <command>INSERT</command> and <command>UPDATE</command>, and old values for <command>DELETE</command>; <command>MERGE</command> would return the appropriate value for the internal query executed. This new syntax
+Previously <literal>RETURNING</literal> only returned new values for <xref linkend="sql-insert"/> and <xref linkend="sql-update"/>, and old values for <xref linkend="sql-delete"/>; <xref linkend="sql-merge"/> would return the appropriate value for the internal query executed. This new syntax
allows the <literal>RETURNING</literal> list of <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>/<command>MERGE</command> to explicitly return old and new values by using the special aliases <literal>old</literal> and <literal>new</literal>. These aliases can be renamed to
avoid identifier conflicts.
</para>
@@ -1489,7 +1489,7 @@ Allow foreign tables to be created like existing local tables (Zhang Mingli)
</para>
<para>
-The syntax is <command>CREATE FOREIGN TABLE ... LIKE</command>.
+The syntax is <link linkend="sql-createforeigntable"><command>CREATE FOREIGN TABLE ... LIKE</command></link>.
</para>
</listitem>
@@ -1544,7 +1544,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
-Allow <command>VACUUM</command> and <command>ANALYZE</command> to process partitioned tables without processing their children (Michael Harris)
+Allow <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> to process partitioned tables without processing their children (Michael Harris)
<ulink url="&commit_baseurl;62ddf7ee9">&sect;</ulink>
</para>
@@ -1588,7 +1588,7 @@ Add server variable <xref linkend="guc-file-copy-method"/> to control the file c
</para>
<para>
-This controls whether <command>CREATE DATABASE ... STRATEGY=FILE_COPY</command> and <command>ALTER DATABASE ... SET TABLESPACE</command> uses file copy or clone.
+This controls whether <link linkend="sql-createdatabase"><command>CREATE DATABASE ... STRATEGY=FILE_COPY</command></link> and <link linkend="sql-alterdatabase"><command>ALTER DATABASE ... SET TABLESPACE</command></link> uses file copy or clone.
</para>
</listitem>
@@ -1630,7 +1630,7 @@ Allow <literal>CHECK</literal> and foreign key constraints to be specified as <l
</para>
<para>
-This also adds column <structname>pg_constraint</structname>.<structfield>conenforced</structfield>.</para>
+This also adds column <link linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>conenforced</structfield>.</para>
</listitem>
<!--
@@ -1645,7 +1645,7 @@ Require primary/foreign key relationships to use either deterministic collations
</para>
<para>
-The restore of a <application>pg_dump</application>, also used by <application>pg_upgrade</application>, will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed.
+The restore of a <xref linkend="app-pgdump"/>, also used by <xref linkend="pgupgrade"/>, will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed.
</para>
</listitem>
@@ -1672,7 +1672,7 @@ Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
<listitem>
<para>
-Allow <command>ALTER TABLE</command> to set the <literal>NOT VALID</literal> attribute of <literal>NOT NULL</literal> constraints (Rushabh Lathia, Jian He)
+Allow <xref linkend="sql-altertable"/> to set the <literal>NOT VALID</literal> attribute of <literal>NOT NULL</literal> constraints (Rushabh Lathia, Jian He)
<ulink url="&commit_baseurl;a379061a2">&sect;</ulink>
</para>
</listitem>
@@ -1692,7 +1692,7 @@ Allow modification of the inheritability of <literal>NOT NULL</literal> constrai
</para>
<para>
-The syntax is <command>ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT</command>.
+The syntax is <link linkend="sql-altertable"><command>ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT</command></link>.
</para>
</listitem>
@@ -1728,7 +1728,7 @@ This was previously erroneously prohibited.
</sect4>
<sect4 id="release-18-copy">
- <title><link linkend="sql-copy"><command>COPY</command></link></title>
+ <title><xref linkend="sql-copy"/></title>
<itemizedlist>
@@ -1796,7 +1796,7 @@ Previously, the <command>COPY</command> worked but the <literal>FREEZE</literal>
</sect4>
<sect4 id="release-18-explain">
- <title><link linkend="sql-explain"><command>EXPLAIN</command></link></title>
+ <title><xref linkend="sql-explain"/></title>
<itemizedlist>
@@ -2219,7 +2219,7 @@ Allow <function>regexp_match[es]()</function>/<function>regexp_like()</function>
</sect3>
<sect3 id="release-18-libpq">
- <title><link linkend="libpq">libpq</link></title>
+ <title><xref linkend="libpq"/></title>
<itemizedlist>
@@ -2502,7 +2502,7 @@ Author: Peter Eisentraut <peter@eisentraut.org>
<listitem>
<para>
-Change <application>initdb</application> to default to enabling checksums (Greg Sabino Mullane)
+Change <xref linkend="app-initdb"/> to default to enabling checksums (Greg Sabino Mullane)
<ulink url="&commit_baseurl;983a588e0">&sect;</ulink>
<ulink url="&commit_baseurl;04bec894a">&sect;</ulink>
</para>
@@ -2554,7 +2554,7 @@ Author: Robert Haas <rhaas@postgresql.org>
<listitem>
<para>
-Add <application>pg_combinebackup</application> option <option>-k</option>/<option>--link</option> to enable hard linking (Israel Barth Rubio, Robert Haas)
+Add <xref linkend="app-pgcombinebackup"/> option <option>-k</option>/<option>--link</option> to enable hard linking (Israel Barth Rubio, Robert Haas)
<ulink url="&commit_baseurl;99aeb8470">&sect;</ulink>
</para>
@@ -2582,7 +2582,7 @@ Author: Masahiko Sawada <msawada@postgresql.org>
<listitem>
<para>
-If <application>pg_rewind</application>'s <option>--source-server</option> specifies a database name, use it in <option>--write-recovery-conf</option> output (Masahiko Sawada)
+If <xref linkend="app-pgrewind"/>'s <option>--source-server</option> specifies a database name, use it in <option>--write-recovery-conf</option> output (Masahiko Sawada)
<ulink url="&commit_baseurl;4ecdd4110">&sect;</ulink>
</para>
</listitem>
@@ -2617,12 +2617,12 @@ Author: Andrew Dunstan <andrew@dunslane.net>
<listitem>
<para>
-Allow <application>pg_dumpall</application> to dump in the same output formats as <application>pg_dump</application> supports (Mahendra Singh Thalor, Andrew Dunstan)
+Allow <xref linkend="app-pg-dumpall"/> to dump in the same output formats as <application>pg_dump</application> supports (Mahendra Singh Thalor, Andrew Dunstan)
<ulink url="&commit_baseurl;1495eff7b">&sect;</ulink>
</para>
<para>
-Also modify <application>pg_restore</application> to handle such dumps. Previously <application>pg_dumpall</application> only supported text format.
+Also modify <xref linkend="app-pgrestore"/> to handle such dumps. Previously <application>pg_dumpall</application> only supported text format.
</para>
</listitem>
@@ -2633,7 +2633,7 @@ Author: Jeff Davis <jdavis@postgresql.org>
<listitem>
<para>
-Add <application>pg_dump</application> options <option>--with-schema</option>, <option>--with-data</option>, and <option>--with-statistics</option> (Jeff Davis)
+Add <xref linkend="app-pgdump"/> options <option>--with-schema</option>, <option>--with-data</option>, and <option>--with-statistics</option> (Jeff Davis)
<ulink url="&commit_baseurl;bde2fb797">&sect;</ulink>
</para>
</listitem>
@@ -2647,7 +2647,7 @@ Author: Nathan Bossart <nathan@postgresql.org>
<listitem>
<para>
-Add <application>pg_dump</application> and <application>pg_dumpall</application> option <option>--sequence-data</option> to dump sequence data that would normally be excluded (Nathan Bossart)
+Add <application>pg_dump</application> and <xref linkend="app-pg-dumpall"/> option <option>--sequence-data</option> to dump sequence data that would normally be excluded (Nathan Bossart)
<ulink url="&commit_baseurl;9c49f0e8c">&sect;</ulink>
<ulink url="&commit_baseurl;acea3fc49">&sect;</ulink>
</para>
@@ -2660,7 +2660,8 @@ Author: Jeff Davis <jdavis@postgresql.org>
<listitem>
<para>
-Add <application>pg_dump</application>, <application>pg_dumpall</application>, and <application>pg_restore</application> options <option>--statistics-only</option>, <option>--no-statistics</option>, <option>--no-data</option>, and <option>--no-schema</option> (Corey Huinker, Jeff Davis)
+Add <xref linkend="app-pgdump"/>, <xref linkend="app-pg-dumpall"/>, and
+<xref linkend="app-pgrestore"/> options <option>--statistics-only</option>, <option>--no-statistics</option>, <option>--no-data</option>, and <option>--no-schema</option> (Corey Huinker, Jeff Davis)
<ulink url="&commit_baseurl;1fd1bd871">&sect;</ulink>
</para>
</listitem>
@@ -2672,7 +2673,9 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<listitem>
<para>
-Add option <option>--no-policies</option> to disable row level security policy processing in <application>pg_dump</application>, <application>pg_dumpall</application>, <application>pg_restore</application> (Nikolay Samokhvalov)
+Add option <option>--no-policies</option> to disable row level security policy processing in
+<xref linkend="app-pgdump"/>, <xref linkend="app-pg-dumpall"/>,
+<xref linkend="app-pgrestore"/> (Nikolay Samokhvalov)
<ulink url="&commit_baseurl;cd3c45125">&sect;</ulink>
</para>
@@ -2686,7 +2689,7 @@ This is useful for migrating to systems with different policies.
</sect4>
<sect4 id="release-18-pgupgrade">
- <title><link linkend="pgupgrade"><application>pg_upgrade</application></link></title>
+ <title><xref linkend="pgupgrade"/></title>
<itemizedlist>
@@ -2812,7 +2815,7 @@ Author: Amit Kapila <akapila@postgresql.org>
<listitem>
<para>
-Add <application>pg_createsubscriber</application> option <option>--all</option> to create logical replicas for all databases (Shubham Khanna)
+Add <xref linkend="app-pgcreatesubscriber"/> option <option>--all</option> to create logical replicas for all databases (Shubham Khanna)
<ulink url="&commit_baseurl;fb2ea12f4">&sect;</ulink>
</para>
</listitem>
@@ -2848,7 +2851,7 @@ Author: Masahiko Sawada <msawada@postgresql.org>
<listitem>
<para>
-Add <application>pg_recvlogical</application> option <option>--failover</option> to specify failover slots (Hayato Kuroda)
+Add <xref linkend="app-pgrecvlogical"/> option <option>--failover</option> to specify failover slots (Hayato Kuroda)
<ulink url="&commit_baseurl;cf2655a90">&sect;</ulink>
</para>
</listitem>
@@ -2997,7 +3000,7 @@ Add configure option <option>--with-libnuma</option> to enable <acronym>NUMA</ac
</para>
<para>
-The function <function>pg_numa_available()</function> reports on <acronym>NUMA</acronym> awareness, and system views <structname>pg_shmem_allocations_numa</structname> and <structname>pg_buffercache_numa</structname> which report on shared memory distribution across
+The function <function>pg_numa_available()</function> reports on <acronym>NUMA</acronym> awareness, and system views <link linkend="view-pg-shmem-allocations-numa"><structname>pg_shmem_allocations_numa</structname></link> and <link linkend="pgbuffercache-pg-buffercache-numa"><structname>pg_buffercache_numa</structname></link> which report on shared memory distribution across
<acronym>NUMA</acronym> nodes.
</para>
</listitem>
@@ -3009,7 +3012,7 @@ Author: Nathan Bossart <nathan@postgresql.org>
<listitem>
<para>
-Add <acronym>TOAST</acronym> table to <structname>pg_index</structname> to allow for very large expression indexes (Nathan Bossart)
+Add <acronym>TOAST</acronym> table to <link linkend="catalog-pg-index"><structname>pg_index</structname></link> to allow for very large expression indexes (Nathan Bossart)
<ulink url="&commit_baseurl;b52c4fc3c">&sect;</ulink>
</para>
</listitem>
@@ -3022,7 +3025,7 @@ Author: David Rowley <drowley@postgresql.org>
<listitem>
<para>
Remove column
-<structname>pg_attribute</structname>.<structfield>attcacheoff</structfield> (David Rowley)
+<link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.<structfield>attcacheoff</structfield> (David Rowley)
<ulink url="&commit_baseurl;02a8d0c45">&sect;</ulink>
</para>
</listitem>
@@ -3034,7 +3037,7 @@ Author: Melanie Plageman <melanieplageman@gmail.com>
<listitem>
<para>
-Add column <structname>pg_class</structname>.<structfield>relallfrozen</structfield> (Melanie Plageman)
+Add column <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>relallfrozen</structfield> (Melanie Plageman)
<ulink url="&commit_baseurl;99f8f3fbb">&sect;</ulink>
</para>
</listitem>
@@ -3087,7 +3090,7 @@ Author: Peter Eisentraut <peter@eisentraut.org>
<listitem>
<para>
-Add support for Python "Limited <acronym>API</acronym>" in <application>PL/Python</application> (Peter Eisentraut)
+Add support for Python "Limited <acronym>API</acronym>" in <xref linkend="plpython"/> (Peter Eisentraut)
<ulink url="&commit_baseurl;72a3d0462">&sect;</ulink>
<ulink url="&commit_baseurl;0793ab810">&sect;</ulink>
</para>
@@ -3239,7 +3242,7 @@ Author: Masahiko Sawada <msawada@postgresql.org>
<listitem>
<para>
-Add extension <application>pg_logicalinspect</application> to inspect logical snapshots (Bertrand Drouvot)
+Add extension <xref linkend="pglogicalinspect"/> to inspect logical snapshots (Bertrand Drouvot)
<ulink url="&commit_baseurl;7cdfeee32">&sect;</ulink>
</para>
</listitem>
@@ -3251,7 +3254,7 @@ Author: Robert Haas <rhaas@postgresql.org>
<listitem>
<para>
-Add extension <application>pg_overexplain</application> which adds debug details to <command>EXPLAIN</command> output (Robert Haas)
+Add extension <application>pg_overexplain</application> which adds debug details to <link linkend="sql-explain"><command>EXPLAIN</command></link> output (Robert Haas)
<ulink url="&commit_baseurl;8d5ceb113">&sect;</ulink>
</para>
</listitem>
@@ -3289,7 +3292,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
<listitem>
<para>
-Allow <acronym>SCRAM</acronym> authentication from the client to be passed to <application>postgres_fdw</application> servers (Matheus Alcantara, Peter Eisentraut)
+Allow <acronym>SCRAM</acronym> authentication from the client to be passed to
+<xref linkend="postgres-fdw"/> servers (Matheus Alcantara, Peter Eisentraut)
<ulink url="&commit_baseurl;761c79508">&sect;</ulink>
</para>
@@ -3307,7 +3311,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
<listitem>
<para>
-Allow <acronym>SCRAM</acronym> authentication from the client to be passed to <application>dblink</application> servers (Matheus Alcantara)
+Allow <acronym>SCRAM</acronym> authentication from the client to be passed to
+<xref linkend="dblink"/> servers (Matheus Alcantara)
<ulink url="&commit_baseurl;3642df265">&sect;</ulink>
</para>
</listitem>
@@ -3319,7 +3324,7 @@ Author: Fujii Masao <fujii@postgresql.org>
<listitem>
<para>
-Add <literal>on_error</literal> and <literal>log_verbosity</literal> options to <application>file_fdw</application> (Atsushi Torikoshi)
+Add <literal>on_error</literal> and <literal>log_verbosity</literal> options to <xref linkend="file-fdw"/> (Atsushi Torikoshi)
<ulink url="&commit_baseurl;a1c4c8a9e">&sect;</ulink>
</para>
@@ -3351,7 +3356,8 @@ Author: Nathan Bossart <nathan@postgresql.org>
<listitem>
<para>
-Add configurable variable <varname>min_password_length</varname> to <application>passwordcheck</application> (Emanuele Musella, Maurizio Boriani)
+Add configurable variable <varname>min_password_length</varname> to
+<xref linkend="passwordcheck"/> (Emanuele Musella, Maurizio Boriani)
<ulink url="&commit_baseurl;f7e1b3828">&sect;</ulink>
</para>
@@ -3379,7 +3385,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<listitem>
<para>
-Add <application>isn</application> server variable <literal>weak</literal> to control invalid check digit acceptance (Viktor Holmberg)
+Add <xref linkend="isn"/> server variable <literal>weak</literal> to control invalid check digit acceptance (Viktor Holmberg)
<ulink url="&commit_baseurl;448904423">&sect;</ulink>
</para>
@@ -3439,7 +3445,7 @@ Author: Robert Haas <rhaas@postgresql.org>
<listitem>
<para>
-Allow extensions to install custom <command>EXPLAIN</command> options (Robert Haas, Sami Imseih)
+Allow extensions to install custom <link linkend="sql-explain"><command>EXPLAIN</command></link> options (Robert Haas, Sami Imseih)
<ulink url="&commit_baseurl;c65bc2e1d">&sect;</ulink>
<ulink url="&commit_baseurl;4fd02bf7c">&sect;</ulink>
<ulink url="&commit_baseurl;50ba65e73">&sect;</ulink>
@@ -3464,7 +3470,7 @@ Allow extensions to use the server's cumulative statistics <acronym>API</acronym
</itemizedlist>
<sect4 id="release-18-pgstatstatements">
- <title><link linkend="pgstatstatements"><application>pg_stat_statements</application></link></title>
+ <title><xref linkend="pgstatstatements"/></title>
<itemizedlist>
@@ -3475,7 +3481,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
-Allow the queries of <command>CREATE TABLE AS</command> and <command>DECLARE</command> to be tracked by <application>pg_stat_statements</application> (Anthonin Bonnefoy)
+Allow the queries of <xref linkend="sql-createtableas"/> and <xref linkend="sql-declare"/> to be tracked by <application>pg_stat_statements</application> (Anthonin Bonnefoy)
<ulink url="&commit_baseurl;6b652e6ce">&sect;</ulink>
</para>
@@ -3491,7 +3497,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
-Allow the parameterization of <command>SET</command> values in <application>pg_stat_statements</application> (Greg Sabino Mullane, Michael Paquier)
+Allow the parameterization of <xref linkend="sql-set"/> values in <application>pg_stat_statements</application> (Greg Sabino Mullane, Michael Paquier)
<ulink url="&commit_baseurl;dc6851596">&sect;</ulink>
</para>
@@ -3507,7 +3513,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<listitem>
<para>
-Add <application>pg_stat_statements</application> columns to report parallel activity (Guillaume Lelarge)
+Add <link linkend="pgstatstatements-pg-stat-statements"><structname>pg_stat_statements</structname></link> columns to report parallel activity (Guillaume Lelarge)
<ulink url="&commit_baseurl;cf54a2c00">&sect;</ulink>
</para>
@@ -3533,7 +3539,7 @@ Add <structname>pg_stat_statements</structname>.<structfield>wal_buffers_full</s
</sect4>
<sect4 id="release-18-pgcrypto">
- <title><link linkend="pgcrypto"><application>pgcrypto</application></link></title>
+ <title><xref linkend="pgcrypto"/></title>
<itemizedlist>