diff options
Diffstat (limited to 'doc/src/sgml')
-rw-r--r-- | doc/src/sgml/func.sgml | 6 | ||||
-rw-r--r-- | doc/src/sgml/libpq.sgml | 2 | ||||
-rw-r--r-- | doc/src/sgml/logicaldecoding.sgml | 54 | ||||
-rw-r--r-- | doc/src/sgml/plpython.sgml | 2 | ||||
-rw-r--r-- | doc/src/sgml/ref/create_table.sgml | 17 | ||||
-rw-r--r-- | doc/src/sgml/ref/pg_dump.sgml | 2 | ||||
-rw-r--r-- | doc/src/sgml/ref/pg_dumpall.sgml | 7 | ||||
-rw-r--r-- | doc/src/sgml/ref/pg_restore.sgml | 4 | ||||
-rw-r--r-- | doc/src/sgml/release-18.sgml | 142 |
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> — 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 — 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">§</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">§</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">§</ulink> <ulink url="&commit_baseurl;da8a4c166">§</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">§</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">§</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">§</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">§</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">§</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">§</ulink> <ulink url="&commit_baseurl;7720082ae">§</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">§</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">§</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">§</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">§</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">§</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">§</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">§</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">§</ulink> <ulink url="&commit_baseurl;4868c96bc">§</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">§</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">§</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">§</ulink> <ulink url="&commit_baseurl;04bec894a">§</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">§</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">§</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">§</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">§</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">§</ulink> <ulink url="&commit_baseurl;acea3fc49">§</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">§</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">§</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">§</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">§</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">§</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">§</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">§</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">§</ulink> <ulink url="&commit_baseurl;0793ab810">§</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">§</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">§</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">§</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">§</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">§</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">§</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">§</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">§</ulink> <ulink url="&commit_baseurl;4fd02bf7c">§</ulink> <ulink url="&commit_baseurl;50ba65e73">§</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">§</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">§</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">§</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> |