-Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during <command>OPEN>, and will not match the variable name.
+Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during <link linkend="plpgsql-cursor-opening">OPEN>, and will not match the variable name.
To restore the previous behavior, assign the desired portal name to the cursor variable before OPEN.
teral>RANGE> and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley)
+Improve performance by caching
nk linkend="ddl-partitioning-overview">RANGE> and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley)
@@ -455,7+455,7 @@ Allow control of the shared buffer usage by vacuum and analyze (Melanie Plageman
-The <command>VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is . The default value is set by server variable vacuum_buffer_usage_limit>, which also controls autovacuum.
+The <link linkend="sql-vacuum">VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is . The default value is set by server variable vacuum_buffer_usage_limit>, which also controls autovacuum.
-Add the display of prepared statement result types to the <structname>pg_prepared_statements> view (Dagfinn Ilmari Mannsåker)
+Add the display of prepared statement result types to the <link linkend="view-pg-prepared-statements">pg_prepared_statements> view (Dagfinn Ilmari Mannsåker)
-Create subscription statistics entries at subscription creation time so <structfield>stats_reset> is accurate (Andres Freund)
+Create subscription statistics entries at subscription creation time so <link linkend="pg-stat-database-view">stats_reset> is accurate (Andres Freund)
-Add function <function>pg_stat_get_backend_subxact()> to report on a session's subtransaction cache (Dilip Kumar)
+Add function <link linkend="monitoring-stats-backend-funcs-table">pg_stat_get_backend_subxact()> to report on a session's subtransaction cache (Dilip Kumar)
-Have <function>pg_stat_get_backend_idset()>, pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart)
+Have <link linkend="monitoring-stats-backend-funcs-table">pg_stat_get_backend_idset()>, pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart)
-Simplify permissions for <command>LOCK TABLE> (Jeff Davis)
+Simplify permissions for <link linkend="sql-lock">LOCK TABLE> (Jeff Davis)
-Previously the ability to perform LOCK TABLE at various lock levels was bound to specific query-type permissions. For example, <command>UPDATE> could perform all lock levels except ACCESS SHARE, which
-required <command>SELECT> permissions. Now UPDATE can issue all lock levels. MORE?
+Previously the ability to perform LOCK TABLE at various lock levels was bound to specific query-type permissions. For example, <link linkend="sql-update">UPDATE> could perform all lock levels except ACCESS SHARE, which
+required <link linkend="sql-select">SELECT> permissions. Now UPDATE can issue all lock levels. MORE?
-Allow roles that create other roles to automatically inherit the new role's rights or the ability to <command>SET ROLE> to the new role (Robert Haas, Shi Yu)
+Allow roles that create other roles to automatically inherit the new role's rights or the ability to <link linkend="sql-set-role">SET ROLE> to the new role (Robert Haas, Shi Yu)
-This is controlled by server variable <varname>createrole_self_grant>.
+This is controlled by server variable <link linkend="guc-createrole-self-grant">createrole_self_grant>.
-Allow the SCRAM iteration count to be set with server variable <varname>scram_iterations> (Daniel Gustafsson)
+Allow the SCRAM iteration count to be set with server variable <link linkend="guc-scram-iterations">scram_iterations> (Daniel Gustafsson)
@@ -1041,7+1041,7 @@ Tighten restrictions on which server variables can be reset (Masahiko Sawada)
-Previously, while certain variables, like <varname>transaction_isolation, were not affected by RESET ALL>, they could be individually reset in inappropriate situations.
+Previously, while certain variables, like <link linkend="guc-default-transaction-isolation">transaction_isolation, were not affected by RESET ALL>, they could be individually reset in inappropriate situations.
-Add <varname>debug_io_direct> setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy)
+Add <link linkend="guc-debug-io-direct">debug_io_direct> setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy)
-While primarily for developers,
teral>wal_sync_method=open_sync>/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal.
+While primarily for developers,
nk linkend="guc-wal-sync-method">wal_sync_method=open_sync>/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal.
-Add function <function>pg_split_walfile_name()> to report the segment and timeline values of WAL file names (Bharath Rupireddy)
+Add function <link linkend="functions-admin-backup-table">pg_split_walfile_name()> to report the segment and timeline values of WAL file names (Bharath Rupireddy)
-Improve user-column handling of <filename>pg_ident.conf> to match pg_hba.conf (Jelte Fennema)
+Improve user-column handling of <link linkend="runtime-config-file-locations">pg_ident.conf> to match pg_hba.conf (Jelte Fennema)
@@ -1258,7+1258,7 @@ Allow include files in pg_hba.conf and pg_ident.c
-These are controlled by include, include_if_exists, and include_dir. System views <structname>pg_hba_file_rules and pg_ident_file_mappings> now display the file name.
+These are controlled by include, include_if_exists, and include_dir. System views <link linkend="view-pg-hba-file-rules">pg_hba_file_rules and pg_ident_file_mappings> now display the file name.
-Add rule and map numbers to the system view <structname>pg_hba_file_rules> (Julien Rouhaud)
+Add rule and map numbers to the system view <link linkend="view-pg-hba-file-rules">pg_hba_file_rules> (Julien Rouhaud)
@@ -1304,7+1304,7 @@ Determine the ICU default locale from the environment (Jeff D
-However, <acronym>ICU> doesn't support the C locale so UTF-8 is used in such cases. Previously the default was always UTF-8.
+However, <link linkend="locale-providers">ICU> doesn't support the C locale so UTF-8 is used in such cases. Previously the default was always UTF-8.
@@ -1315,7+1315,7 @@ Date: Fri Jun 16 10:27:32 2023 -0700
-Have <command>CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb> options, control non-libc collation providers (Jeff Davis)
+Have <link linkend="sql-createdatabase">CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb> options, control non-libc collation providers (Jeff Davis)
@@ -1349,7+1349,7 @@ Allow custom ICU collation rules to be created (Peter Eisentr
-This is done using <command>CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb>.
+This is done using <link linkend="sql-createcollation">CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb>.
-Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar)
+Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar)
-
-
Snapshot WAL records are required for logical slot creation but cannot be created on standbys.
-To avoid delays, the new function <function>pg_log_standby_snapshot()> allows creation of such records.
+To avoid delays, the new function <link linkend="functions-snapshot-synchronization-table">pg_log_standby_snapshot()> allows creation of such records.
@@ -1416,7+1414,7 @@ Add server variable to control how logical decoding publishers transfer changes
-The variable is <varname>logical_replication_mode>.
+The variable is <link linkend="guc-logical-replication-mode">logical_replication_mode>.
@@ -1450,9+1448,9 @@ Allow parallel application of logical replication (Hou Zhijie, Wang Wei, Amit Ka
-The <command>CREATE SUBSCRIPTION> option now supports parallel to enable application of large transactions by parallel workers. The number of parallel workers is controlled by
-the new server variable <varname>max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain>, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was
-added to system view <structname>pg_stat_subscription> to track parallel activity.
+The <link linkend="sql-createsubscription">CREATE SUBSCRIPTION> option now supports parallel to enable application of large transactions by parallel workers. The number of parallel workers is controlled by
+the new server variable <link linkend="guc-max-parallel-apply-workers-per-subscription">max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain>, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was
+added to system view <link linkend="monitoring-pg-stat-subscription">pg_stat_subscription> to track parallel activity.
-Perform logical replication <command>SELECT> and DML actions as the table owner (Robert Haas)
+Perform logical replication <link linkend="sql-select">SELECT> and DML actions as the table owner (Robert Haas)
-This improves security and now requires subscription owners to be either superusers or to have <command>SET ROLE> permissions on all tables in the replication set. The previous behavior of performing all operations
-as the subscription owner can be enabled with the subscription <option>run_as_owner> option.
+This improves security and now requires subscription owners to be either superusers or to have <link linkend="sql-set-role">SET ROLE> permissions on all tables in the replication set. The previous behavior of performing all operations
+as the subscription owner can be enabled with the subscription <link linkend="sql-createsubscription">> option.
-Add functions <function>pg_input_is_valid()> and pg_input_error_info() to check for type conversion errors (Tom Lane)
+Add functions <link linkend="functions-info-validity-table">pg_input_is_valid()> and pg_input_error_info() to check for type conversion errors (Tom Lane)
-The new functions <function>JSON_ARRAY(), JSON_ARRAYAGG()>, JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard.
+The new functions <link linkend="functions-json-creation-table">JSON_ARRAY(), JSON_ARRAYAGG()>, JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard.
-Improve the handling of full text highlighting function <function>ts_headline()> for OR and NOT expressions (Tom Lane)
+Improve the handling of full text highlighting function <link linkend="textsearch-functions-table">ts_headline()> for OR and NOT expressions (Tom Lane)
@@ -1862,7+1860,7 @@ Add functions to add, subtract, and generate timestamptz values in
-The functions are <function>date_add(), date_subtract(), and generate_series()>.
+The functions are <link linkend="functions-datetime-table">date_add(), date_subtract(), and generate_series()>.
-Allow <application>auto_explain> to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker)
+Allow <link linkend="auto-explain">auto_explain> to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker)
-This affects queries using server-side <command>PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length>; by default query parameters will
+This affects queries using server-side <link linkend="sql-prepare">PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length>; by default query parameters will
-Have <application>auto_explain's mode honor the value of compute_query_id> (Atsushi Torikoshi)
+Have <link linkend="auto-explain">auto_explain's mode honor the value of compute_query_id> (Atsushi Torikoshi)
-Previously even if compute_query_id was enabled, <option>log_verbose> was not showing the query identifier.
+Previously even if compute_query_id was enabled, <link linkend="auto-explain-configuration-parameters-log-verbose">> was not showing the query identifier.
-Add <application>pg_walinspect function pg_get_wal_block_info()> to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy)
+Add <link linkend="pgwalinspect">pg_walinspect function pg_get_wal_block_info()> to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy)
-Restrict shipment of <type>reg>* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane)
+Restrict shipment of <link linkend="datatype-oid">reg>* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane)