diff options
author | Bruce Momjian <bruce@momjian.us> | 2024-06-18 22:41:49 -0400 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2024-06-18 22:41:49 -0400 |
commit | 5e05a0e9924e97c24be13c75e4ba12c60bd0e4ad (patch) | |
tree | c8475c959c39cc424b6d6549223e6d07793aa23b | |
parent | 5ade0b8f80cdbb715bc3904ac7d4281a75817911 (diff) | |
download | postgresql-5e05a0e9924e97c24be13c75e4ba12c60bd0e4ad.tar.gz postgresql-5e05a0e9924e97c24be13c75e4ba12c60bd0e4ad.zip |
doc PG 17 relnotes: properly wrap SGML text
Backpatch-through: master
-rw-r--r-- | doc/src/sgml/release-17.sgml | 2889 |
1 files changed, 1678 insertions, 1211 deletions
diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml index 623b0ac905b..e5955ffca7c 100644 --- a/doc/src/sgml/release-17.sgml +++ b/doc/src/sgml/release-17.sgml @@ -53,16 +53,22 @@ Author: Jeff Davis <jdavis@postgresql.org> 2024-03-04 [2af07e2f7] Fix search_path to a safe value during maintenance opera --> -<listitem> -<para> -Change functions to use a safe <xref linkend="guc-search-path"/> during maintenance operations (Jeff Davis) -</para> - -<para> -This prevents maintenance operations (<command>ANALYZE</command>, <command>CLUSTER</command>, <command>REFRESH MATERIALIZED VIEW</command>, <command>REINDEX</command>, or <command>VACUUM</command>) from performing unsafe access. Functions used by expression indexes and -materialized views that need to reference non-default schemas must specify a search path during function creation. -</para> -</listitem> + <listitem> + <para> + Change functions to use a safe <xref linkend="guc-search-path"/> + during maintenance operations (Jeff Davis) + </para> + + <para> + This prevents maintenance operations (<command>ANALYZE</command>, + <command>CLUSTER</command>, <command>REFRESH + MATERIALIZED VIEW</command>, <command>REINDEX</command>, + or <command>VACUUM</command>) from performing unsafe access. + Functions used by expression indexes and materialized views that + need to reference non-default schemas must specify a search path + during function creation. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -71,154 +77,185 @@ Author: Michael Paquier <michael@paquier.xyz> 2023-08-28 [617f9b7d4] Tighten unit parsing in internal values --> -<listitem> -<para> -Restrict <literal>ago</literal> to only appear at the end in <type>interval</type> values (Joseph Koshakow) -</para> + <listitem> + <para> + Restrict <literal>ago</literal> to only appear at the end in + <type>interval</type> values (Joseph Koshakow) + </para> -<para> -Also, prevent empty interval units from appearing multiple times. -</para> -</listitem> + <para> + Also, prevent empty interval units from appearing multiple times. + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2023-09-05 [f691f5b80] Remove the "snapshot too old" feature. --> -<listitem> -<para> -Remove server variable old_snapshot_threshold (Thomas Munro) -</para> + <listitem> + <para> + Remove server variable old_snapshot_threshold (Thomas Munro) + </para> -<para> -This variable allowed vacuum to remove rows that potentially could be still visible to running transactions, causing "snapshot too old" errors later if accessed. This feature -might be re-added to <application>PostgreSQL</application> later if an improved implementation is found. -</para> -</listitem> + <para> + This variable allowed vacuum to remove rows that potentially could + be still visible to running transactions, causing "snapshot too + old" errors later if accessed. This feature might be re-added + to <application>PostgreSQL</application> later if an improved + implementation is found. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2023-07-13 [a0363ab7a] Fix privilege check for SET SESSION AUTHORIZATION. --> -<listitem> -<para> -Change <link linkend="sql-set-session-authorization"><command>SET SESSION AUTHORIZATION</command></link> handling of the initial session user's superuser status (Joseph Koshakow) -</para> + <listitem> + <para> + Change <link linkend="sql-set-session-authorization"><command>SET + SESSION AUTHORIZATION</command></link> handling of the initial + session user's superuser status (Joseph Koshakow) + </para> -<para> -The new behavior is based on the session user's superuser status at the time the <command>SET SESSION AUTHORIZATION</command> command is issued, rather than their superuser status at connection time. -</para> -</listitem> + <para> + The new behavior is based on the session user's superuser status at + the time the <command>SET SESSION AUTHORIZATION</command> command + is issued, rather than their superuser status at connection time. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2023-07-17 [884eee5bf] Remove db_user_namespace. --> -<listitem> -<para> -Remove feature which simulated per-database users (Nathan Bossart) -</para> + <listitem> + <para> + Remove feature which simulated per-database users (Nathan Bossart) + </para> -<para> -The feature, <literal>db_user_namespace</literal>, was rarely used. -</para> -</listitem> + <para> + The feature, <literal>db_user_namespace</literal>, was rarely used. + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2023-07-14 [d0c28601e] Remove wal_sync_method=fsync_writethrough on Windows. --> -<listitem> -<para> -Remove <xref linkend="guc-wal-sync-method"/> value <literal>fsync_writethrough</literal> on <systemitem class="osname">Windows</systemitem> (Thomas Munro) -</para> + <listitem> + <para> + Remove <xref linkend="guc-wal-sync-method"/> value + <literal>fsync_writethrough</literal> on <systemitem + class="osname">Windows</systemitem> (Thomas Munro) + </para> -<para> -This value was the same as <literal>fsync</literal> on <systemitem class="osname">Windows</systemitem>. -</para> -</listitem> + <para> + This value was the same as <literal>fsync</literal> on <systemitem + class="osname">Windows</systemitem>. + </para> + </listitem> <!-- Author: Bruce Momjian <bruce@momjian.us> 2023-11-24 [344afc776] modify segno. for pg_walfile_name() and pg_walfile_name_ --> -<listitem> -<para> -Change file boundary handling of two <acronym>WAL</acronym> file name functions (Kyotaro Horiguchi, Andres Freund, Bruce Momjian) -</para> + <listitem> + <para> + Change file boundary handling of two <acronym>WAL</acronym> file + name functions (Kyotaro Horiguchi, Andres Freund, Bruce Momjian) + </para> -<para> -The functions <link linkend="functions-admin-backup-table"><function>pg_walfile_name()</function></link> and <function>pg_walfile_name_offset()</function> used to report the previous <acronym>LSN</acronym> segment number when the <acronym>LSN</acronym> was on a file segment boundary; it now returns the <acronym>LSN</acronym> segment. -</para> -</listitem> + <para> + The functions <link + linkend="functions-admin-backup-table"><function>pg_walfile_name()</function></link> + and <function>pg_walfile_name_offset()</function> used to report + the previous <acronym>LSN</acronym> segment number when the + <acronym>LSN</acronym> was on a file segment boundary; it now + returns the <acronym>LSN</acronym> segment. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-12-11 [c7a3e6b46] Remove trace_recovery_messages --> -<listitem> -<para> -Remove server variable <literal>trace_recovery_messages</literal> since it is no longer needed (Bharath Rupireddy) -</para> -</listitem> + <listitem> + <para> + Remove server variable <literal>trace_recovery_messages</literal> + since it is no longer needed (Bharath Rupireddy) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2023-08-16 [78806a950] Remove incorrect field from information schema --> -<listitem> -<para> -Remove <link linkend="information-schema">information schema</link> column <structname>element_types</structname>.<structfield>domain_default</structfield> (Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Remove <link + linkend="information-schema">information schema</link> column + <structname>element_types</structname>.<structfield>domain_default</structfield> + (Peter Eisentraut) + </para> + </listitem> <!-- Author: Bruce Momjian <bruce@momjian.us> 2023-09-26 [15d5d7405] pgrowlocks: change lock mode output labels for consiste --> -<listitem> -<para> -Change <application><xref linkend="pgrowlocks"/></application> lock mode output labels (Bruce Momjian) -</para> -</listitem> + <listitem> + <para> + Change <application><xref linkend="pgrowlocks"/></application> + lock mode output labels (Bruce Momjian) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-10-27 [74604a37f] Remove buffers_backend and buffers_backend_fsync from pg --> -<listitem> -<para> -Remove <structfield>buffers_backend</structfield> and <structfield>buffers_backend_fsync</structfield> from <link linkend="monitoring-pg-stat-bgwriter-view"><structname>pg_stat_bgwriter</structname></link> (Bharath Rupireddy) -</para> + <listitem> + <para> + Remove <structfield>buffers_backend</structfield> and + <structfield>buffers_backend_fsync</structfield> from <link + linkend="monitoring-pg-stat-bgwriter-view"><structname>pg_stat_bgwriter</structname></link> + (Bharath Rupireddy) + </para> -<para> -These fields are considered redundant to similar columns in <link linkend="monitoring-pg-stat-io-view"><structname>pg_stat_io</structname></link>. -</para> -</listitem> + <para> + These fields are considered redundant to similar columns in <link + linkend="monitoring-pg-stat-io-view"><structname>pg_stat_io</structname></link>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-10-19 [13d00729d] Rename I/O timing statistics columns to shared_blk_{read --> -<listitem> -<para> -Rename I/O block read/write timing statistics columns of <application><xref linkend="pgstatstatements"/></application> (Nazir Bilal Yavuz) -</para> + <listitem> + <para> + Rename I/O block read/write timing statistics columns of + <application><xref linkend="pgstatstatements"/></application> + (Nazir Bilal Yavuz) + </para> -<para> -This renames <structfield>blk_read_time</structfield> to <structfield>shared_blk_read_time</structfield>, and <structfield>blk_write_time</structfield> to <structfield>shared_blk_write_time</structfield>. -</para> -</listitem> + <para> + This renames <structfield>blk_read_time</structfield> + to <structfield>shared_blk_read_time</structfield>, + and <structfield>blk_write_time</structfield> to + <structfield>shared_blk_write_time</structfield>. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -227,11 +264,16 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2024-03-17 [012460ee9] Make stxstattarget nullable --> -<listitem> -<para> -Change <link linkend="catalog-pg-attribute"><structname>pg_attribute</structname>.<structfield>attstattarget</structfield></link> and <structname>pg_attribute</structname>.<structfield>stxstattarget</structfield> to represent the default statistics target as <literal>NULL</literal> (Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Change <link + linkend="catalog-pg-attribute"><structname>pg_attribute</structname>.<structfield>attstattarget</structfield></link> + and + <structname>pg_attribute</structname>.<structfield>stxstattarget</structfield> + to represent the default statistics target as <literal>NULL</literal> + (Peter Eisentraut) + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> @@ -240,26 +282,36 @@ Author: Masahiko Sawada <msawada@postgresql.org> 2024-06-14 [f1affb670] Reintroduce dead tuple counter in pg_stat_progress_vacuu --> -<listitem> -<para> -Change <link linkend="vacuum-progress-reporting"><structname>pg_stat_progress_vacuum</structname></link> columns <structfield>max_dead_tuples</structfield> to <structfield>max_dead_tuple_bytes</structfield>, rename <structfield>num_dead_tuples</structfield> to <structfield>num_dead_item_ids</structfield>, and add <structfield>dead_tuple_bytes</structfield> (Masahiko Sawada) -</para> -</listitem> + <listitem> + <para> + Change <link + linkend="vacuum-progress-reporting"><structname>pg_stat_progress_vacuum</structname></link> + columns <structfield>max_dead_tuples</structfield> + to <structfield>max_dead_tuple_bytes</structfield>, + rename <structfield>num_dead_tuples</structfield> to + <structfield>num_dead_item_ids</structfield>, and add + <structfield>dead_tuple_bytes</structfield> (Masahiko Sawada) + </para> + </listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2024-02-28 [bcdfa5f2e] Rename SLRU elements in view pg_stat_slru --> -<listitem> -<para> -Rename <acronym>SLRU</acronym> columns in system view <link linkend="monitoring-pg-stat-slru-view"><structname>pg_stat_slru</structname></link> (Alvaro Herrera) -</para> + <listitem> + <para> + Rename <acronym>SLRU</acronym> columns in system view <link + linkend="monitoring-pg-stat-slru-view"><structname>pg_stat_slru</structname></link> + (Alvaro Herrera) + </para> -<para> -The column names accepted by <link linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_slru()</function></link> are also changed. -</para> -</listitem> + <para> + The column names accepted by <link + linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_slru()</function></link> + are also changed. + </para> + </listitem> </itemizedlist> @@ -287,22 +339,26 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-11-17 [f7816aec2] Extract column statistics from CTE references, if possib --> -<listitem> -<para> -Allow the optimizer to improve <acronym>CTE</acronym> plans by considering the statistics of columns referenced in earlier row output clauses (Jian Guo, Tom Lane) -</para> -</listitem> + <listitem> + <para> + Allow the optimizer to improve <acronym>CTE</acronym> plans by + considering the statistics of columns referenced in earlier row + output clauses (Jian Guo, Tom Lane) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-03-26 [a65724dfa] Propagate pathkeys from CTEs up to the outer query. --> -<listitem> -<para> -Allow the optimizer to improve <acronym>CTE</acronym> plans by considering the sort order of columns referenced in earlier row output clauses (Richard Guo) -</para> -</listitem> + <listitem> + <para> + Allow the optimizer to improve <acronym>CTE</acronym> plans by + considering the sort order of columns referenced in earlier row + output clauses (Richard Guo) + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> @@ -311,134 +367,155 @@ Author: David Rowley <drowley@postgresql.org> 2024-04-12 [3af704098] Fix IS [NOT] NULL qual optimization for inheritance tabl --> -<listitem> -<para> -Improve optimization of <literal>IS NOT NULL</literal> and <literal>IS NULL</literal> query restrictions (David Rowley, Richard Guo, Andy Fan) -</para> + <listitem> + <para> + Improve optimization of <literal>IS NOT NULL</literal> and + <literal>IS NULL</literal> query restrictions (David Rowley, + Richard Guo, Andy Fan) + </para> -<para> -Remove <literal>IS NOT NULL</literal> query restrictions on <literal>NOT NULL</literal> columns and eliminate scans on <literal>NOT NULL</literal> columns if <literal>IS NULL</literal> is specified. -</para> -</listitem> + <para> + Remove <literal>IS NOT NULL</literal> query restrictions on + <literal>NOT NULL</literal> columns and eliminate scans on + <literal>NOT NULL</literal> columns if <literal>IS NULL</literal> + is specified. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-03-04 [07c36c133] Support partition pruning on boolcol IS [NOT] UNKNOWN --> -<listitem> -<para> -Allow partition pruning on boolean columns on <literal>IS [NOT] UNKNOWN</literal> conditionals (David Rowley) -</para> -</listitem> + <listitem> + <para> + Allow partition pruning on boolean columns on <literal>IS [NOT] + UNKNOWN</literal> conditionals (David Rowley) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-01-20 [075df6b20] Add planner support functions for range operators <@ and --> -<listitem> -<para> -Improve optimization of range values when using containment operators <@ and @> (Kim Johan Andersson, Jian He) -</para> -</listitem> + <listitem> + <para> + Improve optimization of range values when using containment + operators <@ and @> (Kim Johan Andersson, Jian He) + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-02-15 [9f1337639] Pull up ANY-SUBLINK with the necessary lateral support. --> -<listitem> -<para> -Allow correlated <literal>IN</literal> subqueries to be transformed into joins (Andy Fan, Tom Lane) -</para> -</listitem> + <listitem> + <para> + Allow correlated <literal>IN</literal> subqueries to be transformed + into joins (Andy Fan, Tom Lane) + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2023-10-05 [a8a968a82] Consider cheap startup paths in add_paths_to_append_rel --> -<listitem> -<para> -Improve optimization of the <literal>LIMIT</literal> clause on partitioned tables, inheritance parents, and <literal>UNION ALL</literal> queries (Andy Fan, David Rowley) -</para> -</listitem> + <listitem> + <para> + Improve optimization of the <literal>LIMIT</literal> clause + on partitioned tables, inheritance parents, and <literal>UNION + ALL</literal> queries (Andy Fan, David Rowley) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-07-14 [e08d74ca1] Allow plan nodes with initPlans to be considered paralle --> -<listitem> -<para> -Allow query nodes to be run in parallel in more cases (Tom Lane) -</para> -</listitem> + <listitem> + <para> + Allow query nodes to be run in parallel in more cases (Tom Lane) + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-01-21 [0452b461b] Explore alternative orderings of group-by pathkeys durin --> -<listitem> -<para> -Allow <literal>GROUP BY</literal> columns to be internally ordered to match <literal>ORDER BY</literal> (Andrei Lepikhov, Teodor Sigaev) -</para> + <listitem> + <para> + Allow <literal>GROUP BY</literal> columns to be internally + ordered to match <literal>ORDER BY</literal> (Andrei Lepikhov, + Teodor Sigaev) + </para> -<para> -This can be disabled using server variable enable_group_by_reordering. MISSING -DOCS -</para> -</listitem> + <para> + This can be disabled using server variable + enable_group_by_reordering. MISSING DOCS + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-03-25 [66c0185a3] Allow planner to use Merge Append to efficiently impleme --> -<listitem> -<para> -Allow <literal>UNION</literal> (without <literal>ALL</literal>) to use MergeAppend (David Rowley) -</para> -</listitem> + <listitem> + <para> + Allow <literal>UNION</literal> (without <literal>ALL</literal>) + to use MergeAppend (David Rowley) + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-02-01 [9d1a5354f] Fix costing bug in MergeAppend --> -<listitem> -<para> -Fix MergeAppend plans to more accurately compute the number of rows that need to be sorted (Alexander Kuzmenkov) -</para> -</listitem> + <listitem> + <para> + Fix MergeAppend plans to more accurately compute the number of + rows that need to be sorted (Alexander Kuzmenkov) + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2023-07-04 [625d5b3ca] Allow Incremental Sorts on GiST and SP-GiST indexes --> -<listitem> -<para> -Allow <link linkend="gist">GiST</link> and <link linkend="spgist">SP-GiST</link> indexes to be part of incremental sorts (Miroslav Bendik) -</para> + <listitem> + <para> + Allow <link linkend="gist">GiST</link> and <link + linkend="spgist">SP-GiST</link> indexes to be part of incremental + sorts (Miroslav Bendik) + </para> -<para> -This is particularly useful for <literal>ORDER BY</literal> clauses where the first column has a GiST and SP-GiST index, and other columns do not. -</para> -</listitem> + <para> + This is particularly useful for <literal>ORDER BY</literal> + clauses where the first column has a GiST and SP-GiST index, + and other columns do not. + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2023-11-27 [bc3c8db8a] Display length and bounds histograms in pg_stats --> -<listitem> -<para> -Add columns to <link linkend="view-pg-stats"><structname>pg_stats</structname></link> to report range-type histogram information (Egor Rogov, Soumyadeep Chakraborty) -</para> -</listitem> + <listitem> + <para> + Add columns to <link + linkend="view-pg-stats"><structname>pg_stats</structname></link> + to report range-type histogram information (Egor Rogov, Soumyadeep + Chakraborty) + </para> + </listitem> </itemizedlist> @@ -453,22 +530,27 @@ Author: Peter Geoghegan <pg@bowt.ie> 2024-04-06 [5bf748b86] Enhance nbtree ScalarArrayOp execution. --> -<listitem> -<para> -Allow <link linkend="btree">btree</link> indexes to more efficiently find a set of values, such as those supplied by <literal>IN</literal> clauses using constants (Peter Geoghegan, Matthias van de Meent) -</para> -</listitem> + <listitem> + <para> + Allow <link linkend="btree">btree</link> indexes to more + efficiently find a set of values, such as those supplied by + <literal>IN</literal> clauses using constants (Peter Geoghegan, + Matthias van de Meent) + </para> + </listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2023-12-08 [b43757171] Allow parallel CREATE INDEX for BRIN indexes --> -<listitem> -<para> -Allow <link linkend="brin"><acronym>BRIN</acronym></link> indexes to be created using parallel workers (Tomas Vondra, Matthias van de Meent) -</para> -</listitem> + <listitem> + <para> + Allow <link linkend="brin"><acronym>BRIN</acronym></link> indexes + to be created using parallel workers (Tomas Vondra, Matthias van + de Meent) + </para> + </listitem> </itemizedlist> @@ -484,15 +566,17 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-04-03 [6dbb49026] Combine freezing and pruning steps in VACUUM --> -<listitem> -<para> -Allow vacuum to more efficiently remove and freeze tuples (Melanie Plageman, Heikki Linnakangas) -</para> + <listitem> + <para> + Allow vacuum to more efficiently remove and freeze tuples (Melanie + Plageman, Heikki Linnakangas) + </para> -<para> -<acronym>WAL</acronym> traffic caused by vacuum is also more compact. -</para> -</listitem> + <para> + <acronym>WAL</acronym> traffic caused by vacuum is also more + compact. + </para> + </listitem> <!-- Author: John Naylor <john.naylor@postgresql.org> @@ -505,70 +589,77 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-04-03 [6dbb49026] Combine freezing and pruning steps in VACUUM --> -<listitem> -<para> -Allow vacuum to more efficiently store tuple references (Masahiko Sawada, John Naylor) -</para> + <listitem> + <para> + Allow vacuum to more efficiently store tuple references (Masahiko + Sawada, John Naylor) + </para> -<para> -Additionally, vacuum is no longer silently limited to one gigabyte of memory when <xref linkend="guc-maintenance-work-mem"/> or <xref linkend="guc-autovacuum-work-mem"/> are higher. -</para> -</listitem> + <para> + Additionally, vacuum is no longer silently limited to one gigabyte + of memory when <xref linkend="guc-maintenance-work-mem"/> or <xref + linkend="guc-autovacuum-work-mem"/> are higher. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2024-01-18 [c120550ed] Optimize vacuuming of relations with no indexes. --> -<listitem> -<para> -Optimize vacuuming of relations with no indexes (Melanie Plageman) -</para> -</listitem> + <listitem> + <para> + Optimize vacuuming of relations with no indexes (Melanie Plageman) + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2024-04-06 [98f320eb2] Increase default vacuum_buffer_usage_limit to 2MB. --> -<listitem> -<para> -Increase default <xref linkend="guc-vacuum-buffer-usage-limit"/> to 2MB (Thomas Munro) -</para> -</listitem> + <listitem> + <para> + Increase default <xref linkend="guc-vacuum-buffer-usage-limit"/> + to 2MB (Thomas Munro) + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-03-26 [d365ae705] Optimize roles_is_member_of() with a Bloom filter. --> -<listitem> -<para> -Improve performance when checking roles with many memberships (Nathan Bossart) -</para> -</listitem> + <listitem> + <para> + Improve performance when checking roles with many memberships + (Nathan Bossart) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-07-25 [71e4cc6b8] Optimize WAL insertion lock acquisition and release with --> -<listitem> -<para> -Improve performance of heavily-contended <acronym>WAL</acronym> writes (Bharath Rupireddy) -</para> -</listitem> + <listitem> + <para> + Improve performance of heavily-contended <acronym>WAL</acronym> + writes (Bharath Rupireddy) + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-04-07 [c4ab7da60] Avoid needless large memcpys in libpq socket writing --> -<listitem> -<para> -Improve performance when transferring large blocks of data to a client (Melih Mutlu) -</para> -</listitem> + <listitem> + <para> + Improve performance when transferring large blocks of data to a + client (Melih Mutlu) + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> @@ -579,11 +670,13 @@ Author: Thomas Munro <tmunro@postgresql.org> 2024-04-08 [041b96802] Use streaming I/O in ANALYZE. --> -<listitem> -<para> -Allow the grouping of file system reads with the new system variable <xref linkend="guc-io-combine-limit"/> (Thomas Munro, Andres Freund, Melanie Plageman, Nazir Bilal Yavuz) -</para> -</listitem> + <listitem> + <para> + Allow the grouping of file system reads with the new system variable + <xref linkend="guc-io-combine-limit"/> (Thomas Munro, Andres Freund, + Melanie Plageman, Nazir Bilal Yavuz) + </para> + </listitem> </itemizedlist> @@ -603,15 +696,19 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-03-14 [e820db5b5] Improve documentation for pg_stat_checkpointer fields --> -<listitem> -<para> -Create system view <link linkend="monitoring-pg-stat-checkpointer-view"><structname>pg_stat_checkpointer</structname></link> (Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov) -</para> + <listitem> + <para> + Create system view <link + linkend="monitoring-pg-stat-checkpointer-view"><structname>pg_stat_checkpointer</structname></link> + (Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov) + </para> -<para> -Relevant columns have been removed from <link linkend="pg-stat-bgwriter-view"><structname>pg_stat_bgwriter</structname></link> and added to this new system view. -</para> -</listitem> + <para> + Relevant columns have been removed from <link + linkend="pg-stat-bgwriter-view"><structname>pg_stat_bgwriter</structname></link> + and added to this new system view. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -622,94 +719,114 @@ Author: Michael Paquier <michael@paquier.xyz> 2023-11-14 [e5cca6288] Add support for pg_stat_reset_slru without argument --> -<listitem> -<para> -Improve control over resetting statistics (Atsushi Torikoshi, Bharath Rupireddy) -</para> + <listitem> + <para> + Improve control over resetting statistics (Atsushi Torikoshi, + Bharath Rupireddy) + </para> -<para> -Allow <link linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_shared()</function></link> (with no arguments) and pg_stat_reset_shared(<literal>NULL</literal>) to reset all shared statistics. -Allow pg_stat_reset_shared('slru') and <link linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_slru()</function></link> (with no arguments) to reset <acronym>SLRU</acronym> statistics, which was already possible with pg_stat_reset_slru(NULL). -</para> -</listitem> + <para> + Allow <link + linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_shared()</function></link> + (with no arguments) and + pg_stat_reset_shared(<literal>NULL</literal>) to reset all + shared statistics. Allow pg_stat_reset_shared('slru') and <link + linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_slru()</function></link> + (with no arguments) to reset <acronym>SLRU</acronym> statistics, + which was already possible with pg_stat_reset_slru(NULL). + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-01-25 [1d35f705e] Add more LOG messages when starting and ending recovery --> -<listitem> -<para> -Add log messages related to <acronym>WAL</acronym> recovery from backup (Andres Freund) -</para> -</listitem> + <listitem> + <para> + Add log messages related to <acronym>WAL</acronym> recovery from + backup (Andres Freund) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-08-26 [e48b19c5d] Generate new LOG for "trust" connections under log_conne --> -<listitem> -<para> -Add <xref linkend="guc-log-connections"/> log line for <literal>trust</literal> connections (Jacob Champion) -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="guc-log-connections"/> log line for + <literal>trust</literal> connections (Jacob Champion) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2023-11-21 [7c3fb505b] Log messages for replication slot acquisition and releas --> -<listitem> -<para> -Add log message to report walsender acquisition and release of replication slots (Bharath Rupireddy) -</para> + <listitem> + <para> + Add log message to report walsender acquisition and release of + replication slots (Bharath Rupireddy) + </para> -<para> -This is enabled by the server variable <xref linkend="guc-log-replication-commands"/>. -</para> -</listitem> + <para> + This is enabled by the server variable <xref + linkend="guc-log-replication-commands"/>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-08-20 [1e68e43d3] Add system view pg_wait_events --> -<listitem> -<para> -Add system view <link linkend="view-pg-wait-events"><structname>pg_wait_events</structname></link> that reports wait event types (Bertrand Drouvot) -</para> + <listitem> + <para> + Add system view <link + linkend="view-pg-wait-events"><structname>pg_wait_events</structname></link> + that reports wait event types (Bertrand Drouvot) + </para> -<para> -This is useful for adding descriptions to wait events reported in <link linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link>. -</para> -</listitem> + <para> + This is useful for adding descriptions + to wait events reported in <link + linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link>. + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2023-10-13 [0013ba290] Add wait events for checkpoint delay mechanism. --> -<listitem> -<para> -Add <link linkend="view-pg-wait-events">wait events</link> for checkpoint delays (Thomas Munro) -</para> -</listitem> + <listitem> + <para> + Add <link linkend="view-pg-wait-events">wait events</link> for + checkpoint delays (Thomas Munro) + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2023-07-11 [46ebdfe16] Report index vacuum progress. --> -<listitem> -<para> -Allow vacuum to report the progress of index processing (Sami Imseih) -</para> + <listitem> + <para> + Allow vacuum to report the progress of index processing (Sami + Imseih) + </para> -<para> -This appears in system view <link linkend="pg-stat-progress-vacuum-view"><structname>pg_stat_progress_vacuum</structname></link> columns <structfield>indexes_total</structfield> and <structfield>indexes_processed</structfield>. -</para> -</listitem> + <para> + This appears in system view <link + linkend="pg-stat-progress-vacuum-view"><structname>pg_stat_progress_vacuum</structname></link> + columns <structfield>indexes_total</structfield> and + <structfield>indexes_processed</structfield>. + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> @@ -718,11 +835,13 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-04-08 [3dbd2ff78] Adjust wording of trace_connection_negotiation GUC's des --> -<listitem> -<para> -Add undocumented server variable <literal>trace_connection_negotiation</literal> to allow debugging of connection encryption (Heikki Linnakangas, Kyotaro Horiguchi) -</para> -</listitem> + <listitem> + <para> + Add undocumented server variable + <literal>trace_connection_negotiation</literal> to allow debugging + of connection encryption (Heikki Linnakangas, Kyotaro Horiguchi) + </para> + </listitem> </itemizedlist> @@ -740,29 +859,39 @@ Author: Nathan Bossart <nathan@postgresql.org> 2024-03-13 [ecb0fd337] Reintroduce MAINTAIN privilege and pg_maintain predefine --> -<listitem> -<para> -Allow granting the right to perform maintenance operations (Nathan Bossart) -</para> + <listitem> + <para> + Allow granting the right to perform maintenance operations + (Nathan Bossart) + </para> -<para> -The permission can be granted on a per-table basis using the <link linkend="ddl-priv-maintain"><literal>MAINTAIN</literal></link> privilege and on a per-role basis via the -<link linkend="predefined-roles"><literal>pg_maintain</literal></link> predefined role. Permitted operations are <command>VACUUM</command>, <command>ANALYZE</command>, -<command>REINDEX</command>, <command>REFRESH MATERIALIZED VIEW</command>, <command>CLUSTER</command>, and <command>LOCK TABLE</command>. -</para> -</listitem> + <para> + The permission can be granted on a per-table basis using the <link + linkend="ddl-priv-maintain"><literal>MAINTAIN</literal></link> + privilege and on a per-role basis via the <link + linkend="predefined-roles"><literal>pg_maintain</literal></link> + predefined role. Permitted operations are + <command>VACUUM</command>, <command>ANALYZE</command>, + <command>REINDEX</command>, <command>REFRESH MATERIALIZED + VIEW</command>, <command>CLUSTER</command>, and <command>LOCK + TABLE</command>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-02-14 [8d8afd48d] Allow pg_monitor to execute pg_current_logfile(). --> -<listitem> -<para> -Allow roles with <link linkend="predefined-roles"><literal>pg_monitor</literal></link> membership to execute -<link linkend="functions-info-session-table"><function>pg_current_logfile()</function></link> (Pavlo Golub, Nathan Bossart) -</para> -</listitem> + <listitem> + <para> + Allow roles with <link + linkend="predefined-roles"><literal>pg_monitor</literal></link> + membership to execute <link + linkend="functions-info-session-table"><function>pg_current_logfile()</function></link> + (Pavlo Golub, Nathan Bossart) + </para> + </listitem> </itemizedlist> @@ -778,26 +907,31 @@ Author: Robert Haas <rhaas@postgresql.org> 2024-03-29 [d3ae2a24f] Add allow_alter_system GUC. --> -<listitem> -<para> -Add system variable <xref linkend="guc-allow-alter-system"/> to disallow <link linkend="sql-altersystem"><command>ALTER SYSTEM</command></link> (Jelte Fennema-Nio, Gabriele Bartolini) -</para> -</listitem> + <listitem> + <para> + Add system variable <xref linkend="guc-allow-alter-system"/> + to disallow <link linkend="sql-altersystem"><command>ALTER + SYSTEM</command></link> (Jelte Fennema-Nio, Gabriele Bartolini) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-10-21 [2d870b4ae] Allow ALTER SYSTEM to set unrecognized custom GUCs. --> -<listitem> -<para> -Allow <link linkend="sql-altersystem"><command>ALTER SYSTEM</command></link> to set unrecognized custom server variables (Tom Lane) -</para> + <listitem> + <para> + Allow <link linkend="sql-altersystem"><command>ALTER + SYSTEM</command></link> to set unrecognized custom server variables + (Tom Lane) + </para> -<para> -This is also possible with <link linkend="sql-grant"><literal>GRANT ON PARAMETER</literal></link>. -</para> -</listitem> + <para> + This is also possible with <link linkend="sql-grant"><literal>GRANT + ON PARAMETER</literal></link>. + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> @@ -808,11 +942,13 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-02-25 [28e858c0f] Improve documentation and GUC description for transactio --> -<listitem> -<para> -Add server variable <xref linkend="guc-transaction-timeout"/> to restrict the duration of transactions (Andrey Borodin, Japin Li, Junwang Zhao, Alexander Korotkov) -</para> -</listitem> + <listitem> + <para> + Add server variable <xref linkend="guc-transaction-timeout"/> to + restrict the duration of transactions (Andrey Borodin, Japin Li, + Junwang Zhao, Alexander Korotkov) + </para> + </listitem> <!-- Author: Jeff Davis <jdavis@postgresql.org> @@ -825,61 +961,76 @@ Author: Jeff Davis <jdavis@postgresql.org> 2024-03-20 [9acae56ce] Inline basic UTF-8 functions. --> -<listitem> -<para> -Add a builtin platform-independent collation provider (Jeff Davis) -</para> + <listitem> + <para> + Add a builtin platform-independent collation provider (Jeff Davis) + </para> -<para> -This supports <literal>C</literal> and <literal>C.UTF-8</literal> collations. -</para> -</listitem> + <para> + This supports <literal>C</literal> and <literal>C.UTF-8</literal> + collations. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-07-06 [a14354cac] Add GUC parameter "huge_pages_status" --> -<listitem> -<para> -Add server variable <xref linkend="guc-huge-page-size"/> to report the use of huge pages by Postgres (Justin Pryzby) -</para> + <listitem> + <para> + Add server variable <xref linkend="guc-huge-page-size"/> to report + the use of huge pages by Postgres (Justin Pryzby) + </para> -<para> -This is useful when <xref linkend="guc-huge-pages"/> is set to <literal>try</literal>. -</para> -</listitem> + <para> + This is useful when <xref linkend="guc-huge-pages"/> is set to + <literal>try</literal>. + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2023-09-25 [7750fefdb] Add GUC for temporarily disabling event triggers --> -<listitem> -<para> -Add server variable to disable event triggers (Daniel Gustafsson) -</para> + <listitem> + <para> + Add server variable to disable event triggers (Daniel Gustafsson) + </para> -<para> -The setting, <xref linkend="guc-event-triggers"/>, allows for the temporary disabling of event triggers for debugging. -</para> -</listitem> + <para> + The setting, <xref linkend="guc-event-triggers"/>, allows for the + temporary disabling of event triggers for debugging. + </para> + </listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2024-02-28 [53c2a97a9] Improve performance of subsystems on top of SLRU --> -<listitem> -<para> -Allow the <link linkend="monitoring-pg-stat-slru-view"><acronym>SLRU</acronym></link> cache sizes to be configured (Andrey Borodin, Dilip Kumar, Alvaro Herrera) -</para> - -<para> -The new server variables are <xref linkend="guc-commit-timestamp-buffers"/>, <xref linkend="guc-multixact-member-buffers"/>, <xref linkend="guc-multixact-offset-buffers"/>, <xref linkend="guc-notify-buffers"/>, <xref linkend="guc-serializable-buffers"/>, <xref linkend="guc-subtransaction-buffers"/>, and -<xref linkend="guc-transaction-buffers"/>. commit_timestamp_buffers, transaction_buffers and subtransaction_buffers scale up automatically with <xref linkend="guc-shared-buffers"/>. -</para> -</listitem> + <listitem> + <para> + Allow the <link + linkend="monitoring-pg-stat-slru-view"><acronym>SLRU</acronym></link> + cache sizes to be configured (Andrey Borodin, Dilip Kumar, + Alvaro Herrera) + </para> + + <para> + The new server variables are <xref + linkend="guc-commit-timestamp-buffers"/>, + <xref linkend="guc-multixact-member-buffers"/>, + <xref linkend="guc-multixact-offset-buffers"/>, + <xref linkend="guc-notify-buffers"/>, <xref + linkend="guc-serializable-buffers"/>, <xref + linkend="guc-subtransaction-buffers"/>, and <xref + linkend="guc-transaction-buffers"/>. commit_timestamp_buffers, + transaction_buffers and subtransaction_buffers scale up + automatically with <xref linkend="guc-shared-buffers"/>. + </para> + </listitem> </itemizedlist> @@ -897,15 +1048,21 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> 2024-04-05 [f8ce4ed78] Allow copying files using clone/copy_file_range --> -<listitem> -<para> -Add support for incremental file system backup (Robert Haas, Jakub Wartak, Tomas Vondra) -</para> + <listitem> + <para> + Add support for incremental file system backup (Robert Haas, + Jakub Wartak, Tomas Vondra) + </para> -<para> -Incremental backups can be created using <link linkend="app-pgbasebackup"><application>pg_basebackup</application></link>'s new <option>--incremental</option> option. The new application <link linkend="app-pgcombinebackup"><application>pg_combinebackup</application></link> allows manipulation of base and incremental file system backups. -</para> -</listitem> + <para> + Incremental backups can be created using <link + linkend="app-pgbasebackup"><application>pg_basebackup</application></link>'s + new <option>--incremental</option> + option. The new application <link + linkend="app-pgcombinebackup"><application>pg_combinebackup</application></link> + allows manipulation of base and incremental file system backups. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> @@ -918,42 +1075,56 @@ Author: Robert Haas <rhaas@postgresql.org> 2024-01-11 [d9ef650fc] Add new function pg_get_wal_summarizer_state(). --> -<listitem> -<para> -Allow the creation of <acronym>WAL</acronym> summarization files (Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski) -</para> + <listitem> + <para> + Allow the creation of <acronym>WAL</acronym> summarization files + (Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski) + </para> -<para> -These files record the block numbers that have changed within an <link linkend="datatype-pg-lsn"><acronym>LSN</acronym></link> range and are useful for incremental file system backups. This is controlled by the server variables -<xref linkend="guc-summarize-wal"/> and <xref linkend="guc-wal-summary-keep-time"/>, and introspected with <link linkend="functions-wal-summary"><function>pg_available_wal_summaries()</function></link>, <function>pg_wal_summary_contents()</function>, and <function>pg_get_wal_summarizer_state()</function>. -</para> -</listitem> + <para> + These files record the block numbers that have changed within an + <link linkend="datatype-pg-lsn"><acronym>LSN</acronym></link> + range and are useful for incremental file + system backups. This is controlled by the server + variables <xref linkend="guc-summarize-wal"/> and <xref + linkend="guc-wal-summary-keep-time"/>, and introspected with <link + linkend="functions-wal-summary"><function>pg_available_wal_summaries()</function></link>, + <function>pg_wal_summary_contents()</function>, and + <function>pg_get_wal_summarizer_state()</function>. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2024-03-13 [2041bc427] Add the system identifier to backup manifests. --> -<listitem> -<para> -Add the system identifier to file system <link linkend="backup-manifest-format">backup manifest</link> files (Amul Sul) -</para> + <listitem> + <para> + Add the system identifier to file system <link + linkend="backup-manifest-format">backup manifest</link> files + (Amul Sul) + </para> -<para> -This helps detect invalid <acronym>WAL</acronym> usage. -</para> -</listitem> + <para> + This helps detect invalid <acronym>WAL</acronym> usage. + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2024-03-21 [a145f424d] Allow dbname to be written as part of connstring via pg_ --> -<listitem> -<para> -Allow connection string value <literal>dbname</literal> to be written when <link linkend="app-pgbasebackup"><application>pg_basebackup</application></link> writes connection information to <filename>postgresql.auto.conf</filename> (Vignesh C, Hayato Kuroda) -</para> -</listitem> + <listitem> + <para> + Allow connection string value + <literal>dbname</literal> to be written when <link + linkend="app-pgbasebackup"><application>pg_basebackup</application></link> + writes connection information to + <filename>postgresql.auto.conf</filename> (Vignesh C, Hayato Kuroda) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -962,11 +1133,14 @@ Author: Amit Kapila <akapila@postgresql.org> 2024-03-22 [6ae701b43] Track invalidation_reason in pg_replication_slots. --> -<listitem> -<para> -Add column <link linkend="view-pg-replication-slots"><structname>pg_replication_slots</structname>.<structfield>invalidation_reason</structfield></link> to report the reason for invalid slots (Shveta Malik, Bharath Rupireddy) -</para> -</listitem> + <listitem> + <para> + Add column <link + linkend="view-pg-replication-slots"><structname>pg_replication_slots</structname>.<structfield>invalidation_reason</structfield></link> + to report the reason for invalid slots (Shveta Malik, Bharath + Rupireddy) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -977,11 +1151,13 @@ Author: Amit Kapila <akapila@postgresql.org> 2024-04-05 [6f132ed69] Allow synced slots to have their inactive_since. --> -<listitem> -<para> -Add column <link linkend="view-pg-replication-slots"><structname>pg_replication_slots</structname>.<structfield>inactive_since</structfield></link> to report slot inactivity duration (Bharath Rupireddy) -</para> -</listitem> + <listitem> + <para> + Add column <link + linkend="view-pg-replication-slots"><structname>pg_replication_slots</structname>.<structfield>inactive_since</structfield></link> + to report slot inactivity duration (Bharath Rupireddy) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -990,22 +1166,27 @@ Author: Amit Kapila <akapila@postgresql.org> 2024-02-16 [7a424ece4] Add more LOG and DEBUG messages for slot synchronization --> -<listitem> -<para> -Add function <link linkend="functions-replication-table"><function>pg_sync_replication_slots()</function></link> to synchronize logical replication slots (Hou Zhijie, Shveta Malik, Ajin Cherian, Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="functions-replication-table"><function>pg_sync_replication_slots()</function></link> + to synchronize logical replication slots (Hou Zhijie, Shveta Malik, + Ajin Cherian, Peter Eisentraut) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2024-01-29 [732924043] Allow setting failover property in the replication comma --> -<listitem> -<para> -Add the <literal>failover</literal> property to the <link linkend="protocol-replication">replication protocol</link> (Hou Zhijie, Shveta Malik) -</para> -</listitem> + <listitem> + <para> + Add the <literal>failover</literal> property to the <link + linkend="protocol-replication">replication protocol</link> (Hou + Zhijie, Shveta Malik) + </para> + </listitem> </itemizedlist> @@ -1014,18 +1195,21 @@ Add the <literal>failover</literal> property to the <link linkend="protocol-repl <sect4 id="release-17-logical"> <title><link linkend="logical-replication">Logical Replication</link></title> - <itemizedlist> + <itemizedlist> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-03-25 [d44032d01] pg_createsubscriber: creates a new logical replica from --> -<listitem> -<para> -Add application <link linkend="app-pgcreatesubscriber"><application>pg_createsubscriber</application></link> to create a logical replica from a physical standby server (Euler Taveira) -</para> -</listitem> + <listitem> + <para> + Add application <link + linkend="app-pgcreatesubscriber"><application>pg_createsubscriber</application></link> + to create a logical replica from a physical standby server + (Euler Taveira) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -1034,30 +1218,38 @@ Author: Amit Kapila <akapila@postgresql.org> 2024-01-02 [9a17be1e2] Allow upgrades to preserve the full subscription's state --> -<listitem> -<para> -Have <link linkend="pgupgrade"><application>pg_upgrade</application></link> migrate valid logical slots and subscriptions (Hayato Kuroda, Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal) -</para> + <listitem> + <para> + Have <link + linkend="pgupgrade"><application>pg_upgrade</application></link> + migrate valid logical slots and subscriptions (Hayato Kuroda, + Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal) + </para> -<para> -This allows logical replication to continue quickly after the upgrade. This only works for old clusters of <productname>PostgreSQL</productname> version 17 or later. -</para> -</listitem> + <para> + This allows logical replication to continue quickly + after the upgrade. This only works for old clusters of + <productname>PostgreSQL</productname> version 17 or later. + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2024-01-25 [c393308b6] Allow to enable failover property for replication slots --> -<listitem> -<para> -Enable the failover of <link linkend="logical-replication-subscription-slot">logical slots</link> (Hou Zhijie, Shveta Malik, Ajin Cherian) -</para> + <listitem> + <para> + Enable the failover of <link + linkend="logical-replication-subscription-slot">logical slots</link> + (Hou Zhijie, Shveta Malik, Ajin Cherian) + </para> -<para> -This is controlled by an optional fifth argument to <link linkend="functions-replication-table"><function>pg_create_logical_replication_slot()</function></link>. -</para> -</listitem> + <para> + This is controlled by an optional fifth argument to <link + linkend="functions-replication-table"><function>pg_create_logical_replication_slot()</function></link>. + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -1066,11 +1258,13 @@ Author: Amit Kapila <akapila@postgresql.org> 2024-03-06 [60c07820d] Doc: Improve replication slot synchronization section. --> -<listitem> -<para> -Add server variable <xref linkend="guc-sync-replication-slots"/> to enable failover logical slot synchronization (Shveta Malik, Hou Zhijie, Peter Smith) -</para> -</listitem> + <listitem> + <para> + Add server variable <xref linkend="guc-sync-replication-slots"/> + to enable failover logical slot synchronization (Shveta Malik, + Hou Zhijie, Peter Smith) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -1079,95 +1273,109 @@ Author: Amit Kapila <akapila@postgresql.org> 2024-02-07 [22f7e61a6] Clean-ups for 776621a5e4 and 7329240437. --> -<listitem> -<para> -Add logical replication failover control to <link linkend="sql-createsubscription"><literal>CREATE/ALTER SUBSCRIPTION</literal></link> (Shveta Malik, Hou Zhijie, Ajin Cherian) -</para> -</listitem> + <listitem> + <para> + Add logical replication failover control to <link + linkend="sql-createsubscription"><literal>CREATE/ALTER + SUBSCRIPTION</literal></link> (Shveta Malik, Hou Zhijie, Ajin + Cherian) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2023-07-14 [edca34243] Allow the use of a hash index on the subscriber during r --> -<listitem> -<para> -Allow the application of logical replication changes to use <link linkend="hash-index">hash</link> indexes on the subscriber (Hayato Kuroda) -</para> + <listitem> + <para> + Allow the application of logical replication changes to use + <link linkend="hash-index">hash</link> indexes on the subscriber + (Hayato Kuroda) + </para> -<para> -Previously only <link linkend="btree">btree</link> indexes could be used for this purpose. -</para> -</listitem> + <para> + Previously only <link linkend="btree">btree</link> indexes could + be used for this purpose. + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2024-04-03 [5bec1d6bc] Improve eviction algorithm in ReorderBuffer using max-he --> -<listitem> -<para> -Improve <link linkend="logicaldecoding">logical decoding</link> performance in cases where there are many subtransactions (Masahiko Sawada) -</para> -</listitem> + <listitem> + <para> + Improve <link linkend="logicaldecoding">logical decoding</link> + performance in cases where there are many subtransactions + (Masahiko Sawada) + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2023-10-17 [79243de13] Restart the apply worker if the privileges have been rev --> -<listitem> -<para> -Restart apply workers if subscription owner's superuser privileges are revoked (Vignesh C) -</para> + <listitem> + <para> + Restart apply workers if subscription owner's superuser privileges + are revoked (Vignesh C) + </para> -<para> -This forces reauthentication. -</para> -</listitem> + <para> + This forces reauthentication. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-10-18 [173b56f1e] Add flush option to pg_logical_emit_message() --> -<listitem> -<para> -Add <literal>flush</literal> option to <link linkend="functions-replication-table"><function>pg_logical_emit_message()</function></link> (Michael Paquier) -</para> + <listitem> + <para> + Add <literal>flush</literal> option to <link + linkend="functions-replication-table"><function>pg_logical_emit_message()</function></link> + (Michael Paquier) + </para> -<para> -This makes the message durable. -</para> -</listitem> + <para> + This makes the message durable. + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2024-03-08 [bf279ddd1] Introduce a new GUC 'standby_slot_names'. --> -<listitem> -<para> -Allow specification of physical standbys that must be synchronized before they are visible to subscribers (Hou Zhijie, Shveta Malik) -</para> + <listitem> + <para> + Allow specification of physical standbys that must be synchronized + before they are visible to subscribers (Hou Zhijie, Shveta Malik) + </para> -<para> -The server variable is <xref linkend="guc-standby-slot-names"/>. -</para> -</listitem> + <para> + The server variable is <xref linkend="guc-standby-slot-names"/>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2023-09-25 [13aeaf079] Add worker type to pg_stat_subscription. --> -<listitem> -<para> -Add worker type column to <link linkend="monitoring-pg-stat-subscription"><structname>pg_stat_subscription</structname></link> (Peter Smith) -</para> -</listitem> + <listitem> + <para> + Add worker type column to <link + linkend="monitoring-pg-stat-subscription"><structname>pg_stat_subscription</structname></link> + (Peter Smith) + </para> + </listitem> - </itemizedlist> + </itemizedlist> </sect4> @@ -1189,159 +1397,179 @@ Author: Masahiko Sawada <msawada@postgresql.org> 2024-04-17 [a6d0fa5ef] Disallow specifying ON_ERROR option without value. --> -<listitem> -<para> -Add new <link linkend="sql-copy"><command>COPY</command></link> option <literal>ON_ERROR ignore</literal> to discard error rows (Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo Nagata) -</para> + <listitem> + <para> + Add new <link linkend="sql-copy"><command>COPY</command></link> + option <literal>ON_ERROR ignore</literal> to discard error rows + (Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo + Nagata) + </para> -<para> -The default behavior is <literal>ON_ERROR stop</literal>. -</para> -</listitem> + <para> + The default behavior is <literal>ON_ERROR stop</literal>. + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2024-04-01 [f5a227895] Add new COPY option LOG_VERBOSITY. --> -<listitem> -<para> -Add new <command>COPY</command> option <literal>LOG_VERBOSITY</literal> which reports <literal>COPY FROM</literal> ignored error rows (Bharath Rupireddy) -</para> -</listitem> + <listitem> + <para> + Add new <command>COPY</command> option + <literal>LOG_VERBOSITY</literal> which reports <literal>COPY + FROM</literal> ignored error rows (Bharath Rupireddy) + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2024-01-25 [729439607] Add progress reporting of skipped tuples during COPY FRO --> -<listitem> -<para> -Allow <literal>COPY FROM</literal> to report the number of skipped rows during processing (Atsushi Torikoshi) -</para> + <listitem> + <para> + Allow <literal>COPY FROM</literal> to report the number of skipped + rows during processing (Atsushi Torikoshi) + </para> -<para> -This appears in system view column <link linkend="copy-progress-reporting"><structname>pg_stat_progress_copy</structname>.<structfield>tuples_skipped</structfield></link>. -</para> -</listitem> + <para> + This appears in system view column <link + linkend="copy-progress-reporting"><structname>pg_stat_progress_copy</structname>.<structfield>tuples_skipped</structfield></link>. + </para> + </listitem> <!-- Author: Andrew Dunstan <andrew@dunslane.net> 2023-09-30 [f6d4c9cf1] Provide FORCE_NULL * and FORCE_NOT_NULL * options for CO --> -<listitem> -<para> -In <literal>COPY FROM</literal>, allow easy specification that all columns should be forced null or not null (Zhang Mingli) -</para> -</listitem> + <listitem> + <para> + In <literal>COPY FROM</literal>, allow easy specification that all + columns should be forced null or not null (Zhang Mingli) + </para> + </listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2024-01-29 [5de890e36] Add EXPLAIN (MEMORY) to report planner memory consumptio --> -<listitem> -<para> -Allow <link linkend="sql-explain"><command>EXPLAIN</command></link> to report optimizer memory usage (Ashutosh Bapat) -</para> + <listitem> + <para> + Allow <link linkend="sql-explain"><command>EXPLAIN</command></link> + to report optimizer memory usage (Ashutosh Bapat) + </para> -<para> -The option is called <literal>MEMORY</literal>. -</para> -</listitem> + <para> + The option is called <literal>MEMORY</literal>. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-04-03 [06286709e] Invent SERIALIZE option for EXPLAIN. --> -<listitem> -<para> -Add <command>EXPLAIN</command> option <literal>SERIALIZE</literal> to report the cost of converting data for network transmission (Stepan Rutz, Matthias van de Meent) -</para> -</listitem> + <listitem> + <para> + Add <command>EXPLAIN</command> option <literal>SERIALIZE</literal> + to report the cost of converting data for network transmission + (Stepan Rutz, Matthias van de Meent) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-10-19 [295c36c0c] Add local_blk_{read|write}_time I/O timing statistics fo --> -<listitem> -<para> -Add local I/O block read/write timing statistics to <command>EXPLAIN</command> (Nazir Bilal Yavuz) -</para> -</listitem> + <listitem> + <para> + Add local I/O block read/write timing statistics to + <command>EXPLAIN</command> (Nazir Bilal Yavuz) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-03-19 [fd0398fcb] Improve EXPLAIN's display of SubPlan nodes and output pa --> -<listitem> -<para> -Improve <command>EXPLAIN</command>'s display of SubPlan nodes and output parameters (Tom Lane, Dean Rasheed) -</para> -</listitem> + <listitem> + <para> + Improve <command>EXPLAIN</command>'s display of SubPlan nodes and + output parameters (Tom Lane, Dean Rasheed) + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2023-09-08 [5a3423ad8] Add JIT deform_counter --> -<listitem> -<para> -Add <acronym>JIT</acronym> <literal>deform_counter</literal> details to <command>EXPLAIN</command> (Dmitry Dolgov) -</para> -</listitem> + <listitem> + <para> + Add <acronym>JIT</acronym> <literal>deform_counter</literal> + details to <command>EXPLAIN</command> (Dmitry Dolgov) + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-04-07 [1adf16b8f] Implement ALTER TABLE ... MERGE PARTITIONS ... command --> -<listitem> -<para> -Allow partitions to be merged using <link linkend="sql-altertable"><literal>ALTER TABLE ... MERGE PARTITIONS</literal></link> (Dmitry Koval) -</para> -</listitem> + <listitem> + <para> + Allow partitions to be merged using <link + linkend="sql-altertable"><literal>ALTER TABLE ... MERGE + PARTITIONS</literal></link> (Dmitry Koval) + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-04-07 [87c21bb94] Implement ALTER TABLE ... SPLIT PARTITION ... command --> -<listitem> -<para> -Allow partitions to be split using <literal>ALTER TABLE ... SPLIT PARTITION</literal> (Dmitry Koval) -</para> -</listitem> + <listitem> + <para> + Allow partitions to be split using <literal>ALTER TABLE ... SPLIT + PARTITION</literal> (Dmitry Koval) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-01-16 [699586315] Support identity columns in partitioned tables --> -<listitem> -<para> -Allow partitioned tables to have identity columns (Ashutosh Bapat) -</para> -</listitem> + <listitem> + <para> + Allow partitioned tables to have identity columns (Ashutosh Bapat) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2023-07-12 [8c852ba9a] Allow some exclusion constraints on partitions --> -<listitem> -<para> -Allow <link linkend="ddl-constraints-exclusion">exclusion constraints</link> on partitioned tables (Paul A. Jungwirth) -</para> + <listitem> + <para> + Allow <link linkend="ddl-constraints-exclusion">exclusion + constraints</link> on partitioned tables (Paul A. Jungwirth) + </para> -<para> -As long as exclusion constraints compare partition key columns for equality, other columns can use exclusion constraint-specific comparisons. -</para> -</listitem> + <para> + As long as exclusion constraints compare partition key columns + for equality, other columns can use exclusion constraint-specific + comparisons. + </para> + </listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> @@ -1350,85 +1578,100 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2024-03-28 [e2395cdbe] ALTER TABLE: rework determination of access method ID --> -<listitem> -<para> -Allow specification of partitioned <link linkend="tableam">table access methods</link> (Justin Pryzby, Soumyadeep Chakraborty, Michael Paquier) -</para> -</listitem> + <listitem> + <para> + Allow specification of partitioned <link linkend="tableam">table + access methods</link> (Justin Pryzby, Soumyadeep Chakraborty, + Michael Paquier) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-01-13 [4f622503d] Make attstattarget nullable --> -<listitem> -<para> -Add clearer <link linkend="sql-altertable"><command>ALTER TABLE</command></link> method to set a column to the default statistics target (Peter Eisentraut) -</para> + <listitem> + <para> + Add clearer <link linkend="sql-altertable"><command>ALTER + TABLE</command></link> method to set a column to the default + statistics target (Peter Eisentraut) + </para> -<para> -The new syntax is <literal>ALTER TABLE ... SET STATISTICS DEFAULT</literal>; using <literal>SET STATISTICS -1</literal> is still supported. -</para> -</listitem> + <para> + The new syntax is <literal>ALTER TABLE ... SET STATISTICS + DEFAULT</literal>; using <literal>SET STATISTICS -1</literal> + is still supported. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-01-04 [5d06e99a3] ALTER TABLE command to change generation expression --> -<listitem> -<para> -Allow <literal>ALTER TABLE</literal> to change a column's generation expression (Amul Sul) -</para> + <listitem> + <para> + Allow <literal>ALTER TABLE</literal> to change a column's generation + expression (Amul Sul) + </para> -<para> -The syntax is <literal>ALTER TABLE ... ALTER COLUMN ... SET EXPRESSION</literal>. -</para> -</listitem> + <para> + The syntax is <literal>ALTER TABLE ... ALTER COLUMN ... SET + EXPRESSION</literal>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-03-08 [d61a6cad6] Add support for DEFAULT in ALTER TABLE .. SET ACCESS MET --> -<listitem> -<para> -Add <literal>DEFAULT</literal> setting for <literal>ALTER TABLE .. SET ACCESS METHOD</literal> (Michael Paquier) -</para> -</listitem> + <listitem> + <para> + Add <literal>DEFAULT</literal> setting for <literal>ALTER TABLE + .. SET ACCESS METHOD</literal> (Michael Paquier) + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2023-10-16 [e83d1b0c4] Add support event triggers on authenticated login --> -<listitem> -<para> -Add support for <link linkend="sql-createeventtrigger">event triggers</link> that fire at connection time (Konstantin Knizhnik, Mikhail Gribkov) -</para> -</listitem> + <listitem> + <para> + Add support for <link linkend="sql-createeventtrigger">event + triggers</link> that fire at connection time (Konstantin Knizhnik, + Mikhail Gribkov) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-12-04 [f21848de2] Add support for REINDEX in event triggers --> -<listitem> -<para> -Add event trigger support for <link linkend="sql-reindex"><command>REINDEX</command></link> (Garrett Thornburg, Jian He) -</para> -</listitem> + <listitem> + <para> + Add event trigger support for <link + linkend="sql-reindex"><command>REINDEX</command></link> (Garrett + Thornburg, Jian He) + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2023-07-19 [cdaedfc96] Support parenthesized syntax for CLUSTER without a table --> -<listitem> -<para> -Allow parenthesized syntax for <link linkend="sql-cluster"><command>CLUSTER</command></link> options if a table name is not specified (Nathan Bossart) -</para> -</listitem> + <listitem> + <para> + Allow parenthesized syntax for <link + linkend="sql-cluster"><command>CLUSTER</command></link> options if + a table name is not specified (Nathan Bossart) + </para> + </listitem> </itemizedlist> @@ -1444,26 +1687,31 @@ Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2023-11-14 [519fc1bd9] Support +/- infinity in the interval data type. --> -<listitem> -<para> -Allow the <type>interval</type> data type to support <literal>+/-infinity</literal> values (Joseph Koshakow, Jian He, Ashutosh Bapat) -</para> -</listitem> + <listitem> + <para> + Allow the <type>interval</type> data type to support + <literal>+/-infinity</literal> values (Joseph Koshakow, Jian He, + Ashutosh Bapat) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-03-24 [af1d39584] Allow more cases to pass the unsafe-use-of-new-enum-valu --> -<listitem> -<para> -Allow the use of an <link linkend="datatype-enum"><type>ENUM</type></link> added via <link linkend="sql-altertype"><command>ALTER TYPE</command></link> if the type was created in the same transaction (Tom Lane) -</para> + <listitem> + <para> + Allow the use of an <link + linkend="datatype-enum"><type>ENUM</type></link> added via <link + linkend="sql-altertype"><command>ALTER TYPE</command></link> if + the type was created in the same transaction (Tom Lane) + </para> -<para> -This was previously disallowed. -</para> -</listitem> + <para> + This was previously disallowed. + </para> + </listitem> </itemizedlist> @@ -1480,41 +1728,47 @@ Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2024-02-29 [5f2e179bd] Support MERGE into updatable views. --> -<listitem> -<para> -Allow <command>MERGE</command> to modify updatable views (Dean Rasheed) -</para> -</listitem> + <listitem> + <para> + Allow <command>MERGE</command> to modify updatable views (Dean + Rasheed) + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2024-03-30 [0294df2f1] Add support for MERGE ... WHEN NOT MATCHED BY SOURCE. --> -<listitem> -<para> -Add <literal>WHEN NOT MATCHED BY SOURCE</literal> to <command>MERGE</command> (Dean Rasheed) -</para> + <listitem> + <para> + Add <literal>WHEN NOT MATCHED BY SOURCE</literal> to + <command>MERGE</command> (Dean Rasheed) + </para> -<para> -<literal>WHEN NOT MATCHED</literal> on target rows was already supported. -</para> -</listitem> + <para> + <literal>WHEN NOT MATCHED</literal> on target rows was already + supported. + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2024-03-17 [c649fa24a] Add RETURNING support to MERGE. --> -<listitem> -<para> -Allow <command>MERGE</command> to use the <literal>RETURNING</literal> clause (Dean Rasheed) -</para> + <listitem> + <para> + Allow <command>MERGE</command> to use the + <literal>RETURNING</literal> clause (Dean Rasheed) + </para> -<para> -The new <literal>RETURNING</literal> function <function>merge_action()</function> reports on the <acronym>DML</acronym> that generated the row. -</para> -</listitem> + <para> + The new <literal>RETURNING</literal> function + <function>merge_action()</function> reports on the + <acronym>DML</acronym> that generated the row. + </para> + </listitem> </itemizedlist> @@ -1532,26 +1786,35 @@ Author: Amit Langote <amitlan@postgresql.org> 2024-04-08 [bb766cde6] JSON_TABLE: Add support for NESTED paths and columns --> -<listitem> -<para> -Add function <link linkend="functions-sqljson-table"><function>JSON_TABLE()</function></link> to convert <type>JSON</type> data to a table representation (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Jian He) -</para> + <listitem> + <para> + Add function <link + linkend="functions-sqljson-table"><function>JSON_TABLE()</function></link> + to convert <type>JSON</type> data to a table representation (Nikita + Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew + Dunstan, Amit Langote, Jian He) + </para> -<para> -This function can be used in the <literal>FROM</literal> clause of <command>SELECT</command> queries as a tuple source. -</para> -</listitem> + <para> + This function can be used in the <literal>FROM</literal> clause of + <command>SELECT</command> queries as a tuple source. + </para> + </listitem> <!-- Author: Amit Langote <amitlan@postgresql.org> 2023-07-26 [03734a7fe] Add more SQL/JSON constructor functions --> -<listitem> -<para> -Add <acronym>SQL/JSON</acronym> constructor functions <link linkend="functions-json-creation-table"><function>JSON()</function></link>, <function>JSON_SCALAR()</function>, and <function>JSON_SERIALIZE()</function> (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote) -</para> -</listitem> + <listitem> + <para> + Add <acronym>SQL/JSON</acronym> constructor functions <link + linkend="functions-json-creation-table"><function>JSON()</function></link>, + <function>JSON_SCALAR()</function>, and + <function>JSON_SERIALIZE()</function> (Nikita Glukhov, Teodor Sigaev, + Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote) + </para> + </listitem> <!-- Author: Amit Langote <amitlan@postgresql.org> @@ -1566,167 +1829,207 @@ Author: Amit Langote <amitlan@postgresql.org> 2024-04-18 [ef744ebb7] SQL/JSON: Miscellaneous fixes and improvements --> -<listitem> -<para> -Add <acronym>SQL/JSON</acronym> query functions <link linkend="functions-sqljson-querying"><function>JSON_EXISTS()</function></link>, <function>JSON_QUERY()</function>, and <function>JSON_VALUE()</function> (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, -Peter Eisentraut, Jian He) -</para> -</listitem> + <listitem> + <para> + Add <acronym>SQL/JSON</acronym> query functions <link + linkend="functions-sqljson-querying"><function>JSON_EXISTS()</function></link>, + <function>JSON_QUERY()</function>, and + <function>JSON_VALUE()</function> (Nikita Glukhov, Teodor Sigaev, + Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, + Peter Eisentraut, Jian He) + </para> + </listitem> <!-- Author: Andrew Dunstan <andrew@dunslane.net> 2024-01-25 [66ea94e8e] Implement various jsonpath methods --> -<listitem> -<para> -Add <link linkend="functions-sqljson-path-operators">jsonpath</link> methods to convert <type>JSON</type> values to other <type>JSON</type> data types (Jeevan Chalke) -</para> + <listitem> + <para> + Add <link linkend="functions-sqljson-path-operators">jsonpath</link> + methods to convert <type>JSON</type> values to other + <type>JSON</type> data types (Jeevan Chalke) + </para> -<para> -The jsonpath methods are <function>.bigint()</function>, -<function>.boolean()</function>, <function>.date()</function>, -<function>.decimal([precision [, scale]])</function>, <function>.integer()</function>, -<function>.number()</function>, <function>.string()</function>, -<function>.time()</function>, <function>.time_tz()</function>, -<function>.timestamp()</function>, and -<function>.timestamp_tz()</function>. -</para> -</listitem> + <para> + The jsonpath methods are <function>.bigint()</function>, + <function>.boolean()</function>, <function>.date()</function>, + <function>.decimal([precision [, scale]])</function>, + <function>.integer()</function>, <function>.number()</function>, + <function>.string()</function>, <function>.time()</function>, + <function>.time_tz()</function>, <function>.timestamp()</function>, + and <function>.timestamp_tz()</function>. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-01-25 [8ba6fdf90] Support TZ and OF format codes in <function>to_timestamp()</function>. --> -<listitem> -<para> -Add <link linkend="functions-formatting-table"><function>to_timestamp()</function></link> time zone format specifiers (Tom Lane) -</para> + <listitem> + <para> + Add <link + linkend="functions-formatting-table"><function>to_timestamp()</function></link> + time zone format specifiers (Tom Lane) + </para> -<para> -<literal>TZ</literal> accepts time zone abbreviations or numeric offsets, while <literal>OF</literal> accepts only numeric offsets. -</para> -</listitem> + <para> + <literal>TZ</literal> accepts time zone abbreviations or numeric + offsets, while <literal>OF</literal> accepts only numeric offsets. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-10-13 [97957fdba] Add support for AT LOCAL --> -<listitem> -<para> -Allow the session <link linkend="guc-timezone">time zone</link> to be specified by <literal>AS LOCAL</literal> (Vik Fearing) -</para> + <listitem> + <para> + Allow the session <link linkend="guc-timezone">time zone</link> + to be specified by <literal>AS LOCAL</literal> (Vik Fearing) + </para> -<para> -This is useful when converting adding and removing time zones from time stamps values, rather than specifying the literal session time zone. -</para> -</listitem> + <para> + This is useful when converting adding and removing time zones from + time stamps values, rather than specifying the literal session + time zone. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-03-19 [794f10f6b] Add some UUID support functions --> -<listitem> -<para> -Add functions <link linkend="functions-uuid"><function>uuid_extract_timestamp()</function></link> and <function>uuid_extract_version()</function> to return <acronym>UUID</acronym> information (Andrey Borodin) -</para> -</listitem> + <listitem> + <para> + Add functions <link + linkend="functions-uuid"><function>uuid_extract_timestamp()</function></link> + and <function>uuid_extract_version()</function> to return + <acronym>UUID</acronym> information (Andrey Borodin) + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2024-03-27 [e6341323a] Add functions to generate random numbers in a specified --> -<listitem> -<para> -Add functions to generate random numbers in a specified range (Dean Rasheed) -</para> + <listitem> + <para> + Add functions to generate random numbers in a specified range + (Dean Rasheed) + </para> -<para> -The functions are <link linkend="functions-math-random-table"><function>random(min, max)</function></link> and they take values of type <type>integer</type>, <type>bigint</type>, and <type>numeric</type>. -</para> -</listitem> + <para> + The functions are <link + linkend="functions-math-random-table"><function>random(min, + max)</function></link> and they take values of type + <type>integer</type>, <type>bigint</type>, and <type>numeric</type>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2023-08-23 [260a1f18d] Add to_bin() and to_oct(). --> -<listitem> -<para> -Add functions to convert integers to binary and octal strings (Eric Radman, Nathan Bossart) -</para> + <listitem> + <para> + Add functions to convert integers to binary and octal strings + (Eric Radman, Nathan Bossart) + </para> -<para> -The functions are <link linkend="functions-string-other"><function>to_bin()</function></link> and <function>to_oct()</function>. -</para> -</listitem> + <para> + The functions are <link + linkend="functions-string-other"><function>to_bin()</function></link> + and <function>to_oct()</function>. + </para> + </listitem> <!-- Author: Jeff Davis <jdavis@postgresql.org> 2023-11-01 [a02b37fc0] Additional unicode primitive functions. --> -<listitem> -<para> -Add Unicode informational functions (Jeff Davis) -</para> + <listitem> + <para> + Add Unicode informational functions (Jeff Davis) + </para> -<para> -Function <link linkend="functions-info-version"><function>unicode_version()</function></link> returns the Unicode version, <function>icu_unicode_version()</function> returns the <acronym>ICU</acronym> version, and <function>unicode_assigned()</function> returns if the characters are assigned Unicode codepoints. -</para> -</listitem> + <para> + Function <link + linkend="functions-info-version"><function>unicode_version()</function></link> + returns the Unicode version, + <function>icu_unicode_version()</function> + returns the <acronym>ICU</acronym> version, and + <function>unicode_assigned()</function> returns if the characters + are assigned Unicode codepoints. + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2023-11-06 [526fe0d79] Add XMLText function (SQL/XML X038) --> -<listitem> -<para> -Add function <link linkend="functions-producing-xml-xmltext"><function>xmltext()</function></link> to convert text to a single <type>XML</type> text node (Jim Jones) -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="functions-producing-xml-xmltext"><function>xmltext()</function></link> + to convert text to a single <type>XML</type> text node (Jim Jones) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-03-20 [1218ca995] Add to_regtypemod function to extract typemod from a str --> -<listitem> -<para> -Add function <link linkend="functions-info-catalog-table"><function>to_regtypemod()</function></link> to return the type modifier of a type specification (David Wheeler, Erik Wienhold) -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="functions-info-catalog-table"><function>to_regtypemod()</function></link> + to return the type modifier of a type specification (David Wheeler, + Erik Wienhold) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-03-30 [b154d8a6d] Add pg_basetype() function to extract a domain's base ty --> -<listitem> -<para> -Add <link linkend="functions-info-catalog-table"><function>pg_basetype()</function></link> function to return a domain's base type (Steve Chavez) -</para> -</listitem> + <listitem> + <para> + Add <link + linkend="functions-info-catalog-table"><function>pg_basetype()</function></link> + function to return a domain's base type (Steve Chavez) + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-03-14 [d1162cfda] Add pg_column_toast_chunk_id(). --> -<listitem> -<para> -Add function <link linkend="functions-admin-dbsize"><function>pg_column_toast_chunk_id()</function></link> to return a value's <link linkend="storage-toast"><acronym>TOAST</acronym></link> identifier (Yugo Nagata) -</para> + <listitem> + <para> + Add function <link + linkend="functions-admin-dbsize"><function>pg_column_toast_chunk_id()</function></link> + to return a value's <link + linkend="storage-toast"><acronym>TOAST</acronym></link> identifier + (Yugo Nagata) + </para> -<para> -This returns <literal>NULL</literal> if the value is not stored in <acronym>TOAST</acronym>. -</para> -</listitem> + <para> + This returns <literal>NULL</literal> if the value is not stored + in <acronym>TOAST</acronym>. + </para> + </listitem> </itemizedlist> @@ -1742,22 +2045,26 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-01-04 [5e8674dc8] In plpgsql, allow %TYPE and %ROWTYPE to be followed by a --> -<listitem> -<para> -Allow plpgsql <link linkend="plpgsql-declaration-type"><literal>%TYPE</literal></link> and <literal>%ROWTYPE</literal> specifications to represent arrays of non-array types (Quan Zongliang, Pavel Stehule) -</para> -</listitem> + <listitem> + <para> + Allow plpgsql <link + linkend="plpgsql-declaration-type"><literal>%TYPE</literal></link> + and <literal>%ROWTYPE</literal> specifications to represent arrays + of non-array types (Quan Zongliang, Pavel Stehule) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-01-05 [43b46aae1] Clean up some edge cases in plpgsql's %TYPE parsing. --> -<listitem> -<para> -Allow plpgsql <literal>%TYPE</literal> specification to reference composite column (Tom Lane) -</para> -</listitem> + <listitem> + <para> + Allow plpgsql <literal>%TYPE</literal> specification to reference + composite column (Tom Lane) + </para> + </listitem> </itemizedlist> @@ -1773,45 +2080,57 @@ Author: Joe Conway <mail@joeconway.com> 2024-01-09 [a7be2a6c2] Add new function, PQchangePassword(), to libpq --> -<listitem> -<para> -Add libpq function to change role passwords (Joe Conway) -</para> + <listitem> + <para> + Add libpq function to change role passwords (Joe Conway) + </para> -<para> -The new function, <link linkend="libpq-PQchangePassword"><function>PQchangePassword()</function></link>, hashes the new password before sending it to the server. -</para> -</listitem> + <para> + The new function, <link + linkend="libpq-PQchangePassword"><function>PQchangePassword()</function></link>, + hashes the new password before sending it to the server. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-07-04 [28b572656] libpq: Add support for Close on portals and statements --> -<listitem> -<para> -Add libpq functions to close portals and prepared statements (Jelte Fennema-Nio) -</para> + <listitem> + <para> + Add libpq functions to close portals and prepared statements + (Jelte Fennema-Nio) + </para> -<para> -The functions are <link linkend="libpq-PQclosePrepared"><function>PQclosePrepared()</function></link>, <link linkend="libpq-PQclosePortal"><function>PQclosePortal()</function></link>, <link linkend="libpq-PQsendClosePrepared"><function>PQsendClosePrepared()</function></link>, and <link linkend="libpq-PQsendClosePortal"><function>PQsendClosePortal()</function></link>. -</para> -</listitem> + <para> + The functions are <link + linkend="libpq-PQclosePrepared"><function>PQclosePrepared()</function></link>, + <link + linkend="libpq-PQclosePortal"><function>PQclosePortal()</function></link>, + <link + linkend="libpq-PQsendClosePrepared"><function>PQsendClosePrepared()</function></link>, + and <link + linkend="libpq-PQsendClosePortal"><function>PQsendClosePortal()</function></link>. + </para> + </listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2024-03-12 [61461a300] libpq: Add encrypted and non-blocking query cancellation --> -<listitem> -<para> -Add libpq <acronym>API</acronym> which allows for blocking and non-blocking <link linkend="libpq-cancel">cancel requests</link>, with encryption if already in use (Jelte Fennema-Nio) -</para> + <listitem> + <para> + Add libpq <acronym>API</acronym> which allows for blocking and + non-blocking <link linkend="libpq-cancel">cancel requests</link>, + with encryption if already in use (Jelte Fennema-Nio) + </para> -<para> -Previously only blocking, unencrypted cancel requests were supported. -</para> -</listitem> + <para> + Previously only blocking, unencrypted cancel requests were supported. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> @@ -1820,37 +2139,46 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-06-13 [105024a47] Improve the granularity of PQsocketPoll's timeout parame --> -<listitem> -<para> -Add libpq function <link linkend="libpq-PQsocketPoll"><function>PQsocketPoll</function></link> to allow polling of network sockets (Tristan Partin, Tom Lane) -</para> -</listitem> + <listitem> + <para> + Add libpq function <link + linkend="libpq-PQsocketPoll"><function>PQsocketPoll</function></link> + to allow polling of network sockets (Tristan Partin, Tom Lane) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-01-16 [4794c2d31] libpq: Add PQsendPipelineSync() --> -<listitem> -<para> -Add libpq function <link linkend="libpq-PQsendPipelineSync"><function>PQsendPipelineSync()</function></link> to send a pipeline synchronization point (Anton Kirilov) -</para> + <listitem> + <para> + Add libpq function <link + linkend="libpq-PQsendPipelineSync"><function>PQsendPipelineSync()</function></link> + to send a pipeline synchronization point (Anton Kirilov) + </para> -<para> -This is similar to <link linkend="libpq-PQpipelineSync"><function>PQpipelineSync()</function></link> but it does not flush to the server unless the size threshold of the output buffer is reached. -</para> -</listitem> + <para> + This is similar to <link + linkend="libpq-PQpipelineSync"><function>PQpipelineSync()</function></link> + but it does not flush to the server unless the size threshold of + the output buffer is reached. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-04-06 [4643a2b26] Support retrieval of results in chunks with libpq. --> -<listitem> -<para> -Add libpq function <link linkend="libpq-PQsetChunkedRowsMode"><function>PQsetChunkedRowsMode()</function></link> to allow retrieval of results in chunks (Daniel Vérité) -</para> -</listitem> + <listitem> + <para> + Add libpq function <link + linkend="libpq-PQsetChunkedRowsMode"><function>PQsetChunkedRowsMode()</function></link> + to allow retrieval of results in chunks (Daniel Vérité) + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> @@ -1871,15 +2199,20 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-05-16 [fb5718f35] Remove option to fall back from direct to postgres SSL n --> -<listitem> -<para> -Allow <acronym>TLS</acronym> connections without requiring a network round-trip negotiation (Greg Stark, Heikki Linnakangas, Peter Eisentraut, Michael Paquier, Daniel Gustafsson) -</para> + <listitem> + <para> + Allow <acronym>TLS</acronym> connections without requiring a + network round-trip negotiation (Greg Stark, Heikki Linnakangas, + Peter Eisentraut, Michael Paquier, Daniel Gustafsson) + </para> -<para> -This is enabled with the client-side option <link linkend="libpq-connect-sslnegotiation"><literal>sslnegotiation=direct</literal></link>, requires <acronym>ALPN</acronym>, and only works on <productname>PostgreSQL</productname> 17 and later servers. -</para> -</listitem> + <para> + This is enabled with the client-side option <link + linkend="libpq-connect-sslnegotiation"><literal>sslnegotiation=direct</literal></link>, + requires <acronym>ALPN</acronym>, and only works on + <productname>PostgreSQL</productname> 17 and later servers. + </para> + </listitem> </itemizedlist> @@ -1895,67 +2228,74 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-11-13 [d1379ebf4] Improve default and empty privilege outputs in psql. --> -<listitem> -<para> -Improve <application>psql</application> display of default and empty privileges (Erik Wienhold, Laurenz Albe) -</para> + <listitem> + <para> + Improve <application>psql</application> display of default and + empty privileges (Erik Wienhold, Laurenz Albe) + </para> -<para> -Command <literal>\dp</literal> now displays <literal>(none)</literal> for empty privileges; default still display as empty. -</para> -</listitem> + <para> + Command <literal>\dp</literal> now displays <literal>(none)</literal> + for empty privileges; default still display as empty. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-11-13 [d1379ebf4] Improve default and empty privilege outputs in psql. --> -<listitem> -<para> -Have backslash commands honor <literal>\pset null</literal> (Erik Wienhold, Laurenz Albe) -</para> + <listitem> + <para> + Have backslash commands honor <literal>\pset null</literal> (Erik + Wienhold, Laurenz Albe) + </para> -<para> -Previously <literal>\pset null</literal> was ignored. -</para> -</listitem> + <para> + Previously <literal>\pset null</literal> was ignored. + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2023-08-29 [f347ec76e] Allow \watch queries to stop on minimum rows returned --> -<listitem> -<para> -Allow <application>psql</application>'s <literal>\watch</literal> to stop after a minimum number of rows returned (Greg Sabino Mullane) -</para> + <listitem> + <para> + Allow <application>psql</application>'s <literal>\watch</literal> + to stop after a minimum number of rows returned (Greg Sabino Mullane) + </para> -<para> -The parameter is <literal>min_rows</literal>. -</para> -</listitem> + <para> + The parameter is <literal>min_rows</literal>. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2024-04-02 [cafe10565] Allow SIGINT to cancel psql database reconnections. --> -<listitem> -<para> -Allow <application>psql</application> connections to be canceled with control-C (Tristan Partin) -</para> -</listitem> + <listitem> + <para> + Allow <application>psql</application> connections to be canceled + with control-C (Tristan Partin) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-04-06 [90f517821] Re-implement psql's FETCH_COUNT feature atop libpq's chu --> -<listitem> -<para> -Allow <application>psql</application> to honor <literal>FETCH_COUNT</literal> for non-<command>SELECT</command> queries (Daniel Vérité) -</para> -</listitem> + <listitem> + <para> + Allow <application>psql</application> to honor + <literal>FETCH_COUNT</literal> for non-<command>SELECT</command> + queries (Daniel Vérité) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -1978,210 +2318,257 @@ Author: Michael Paquier <michael@paquier.xyz> 2024-05-01 [2800fbb2b] Add tab completion for EXPLAIN (MEMORY|SERIALIZE) --> -<listitem> -<para> -Improve <application>psql</application> tab completion (Dagfinn Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, Vignesh C, Pavel Borisov, Jian He) -</para> -</listitem> + <listitem> + <para> + Improve <application>psql</application> tab completion (Dagfinn + Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, + Vignesh C, Pavel Borisov, Jian He) + </para> + </listitem> - </itemizedlist> + </itemizedlist> - </sect3> + </sect3> - <sect3 id="release-17-server-apps"> - <title>Server Applications</title> + <sect3 id="release-17-server-apps"> + <title>Server Applications</title> - <itemizedlist> + <itemizedlist> <!-- Author: Robert Haas <rhaas@postgresql.org> 2024-01-11 [ee1bfd168] Add new pg_walsummary tool. --> -<listitem> -<para> -Add application <link linkend="app-pgwalsummary"><application>pg_walsummary</application></link> to dump <acronym>WAL</acronym> summary files (Robert Haas) -</para> -</listitem> + <listitem> + <para> + Add application <link + linkend="app-pgwalsummary"><application>pg_walsummary</application></link> + to dump <acronym>WAL</acronym> summary files (Robert Haas) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-04-01 [a45c78e32] Rearrange pg_dump's handling of large objects for better --> -<listitem> -<para> -Allow <link linkend="app-pgdump"><application>pg_dump</application></link>'s large objects to be restorable in batches (Tom Lane) -</para> + <listitem> + <para> + Allow <link + linkend="app-pgdump"><application>pg_dump</application></link>'s + large objects to be restorable in batches (Tom Lane) + </para> -<para> -This allows the restoration of many large objects to avoid transaction limits and to be restored in parallel. -</para> -</listitem> + <para> + This allows the restoration of many large objects to avoid + transaction limits and to be restored in parallel. + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2024-03-20 [522ed12f7] Add "- -exclude-extension" to pg_dump's options. --> -<listitem> -<para> -Add <application>pg_dump</application> option <option>--exclude-extension</option> (Ayush Vatsa) -</para> -</listitem> + <listitem> + <para> + Add <application>pg_dump</application> option + <option>--exclude-extension</option> (Ayush Vatsa) + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2023-11-29 [a5cf808be] Read include/exclude commands for dump/restore from file --> -<listitem> -<para> -Allow <application>pg_dump</application>, <link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>, and <link linkend="app-pgrestore"><application>pg_restore</application></link> to specify include/exclude objects in a file (Pavel Stehule, Daniel Gustafsson) -</para> + <listitem> + <para> + Allow <application>pg_dump</application>, <link + linkend="app-pg-dumpall"><application>pg_dumpall</application></link>, + and <link + linkend="app-pgrestore"><application>pg_restore</application></link> + to specify include/exclude objects in a file (Pavel Stehule, + Daniel Gustafsson) + </para> -<para> -The option is called <option>--filter</option>. -</para> -</listitem> + <para> + The option is called <option>--filter</option>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2023-09-06 [8c16ad3b4] Allow using syncfs() in frontend utilities. --> -<listitem> -<para> -Add the <option>--sync-method</option> parameter to several client applications (Justin Pryzby, Nathan Bossart) -</para> + <listitem> + <para> + Add the <option>--sync-method</option> parameter to several client + applications (Justin Pryzby, Nathan Bossart) + </para> -<para> -The applications are <link linkend="app-initdb"><application>initdb</application></link>, <link linkend="app-pgbasebackup"><application>pg_basebackup</application></link>, <link linkend="app-pgchecksums"><application>pg_checksums</application></link>, <application>pg_dump</application>, <link linkend="app-pgrewind"><application>pg_rewind</application></link>, and <link linkend="pgupgrade"><application>pg_upgrade</application></link>. -</para> -</listitem> + <para> + The applications are <link + linkend="app-initdb"><application>initdb</application></link>, <link + linkend="app-pgbasebackup"><application>pg_basebackup</application></link>, + <link + linkend="app-pgchecksums"><application>pg_checksums</application></link>, + <application>pg_dump</application>, <link + linkend="app-pgrewind"><application>pg_rewind</application></link>, + and <link + linkend="pgupgrade"><application>pg_upgrade</application></link>. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-04-01 [959b38d77] Invent - -transaction-size option for pg_restore. --> -<listitem> -<para> -Add <link linkend="app-pgrestore"><application>pg_restore</application></link> option <option>--transaction-size</option> to allow object restore in transaction batches (Tom Lane) -</para> + <listitem> + <para> + Add <link + linkend="app-pgrestore"><application>pg_restore</application></link> + option <option>--transaction-size</option> to allow object restore + in transaction batches (Tom Lane) + </para> -<para> -This allows the performance benefits of transaction batches without the problems of excessively large transaction blocks. -</para> -</listitem> + <para> + This allows the performance benefits of transaction batches without + the problems of excessively large transaction blocks. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-03-25 [3ff01b2b6] Adjust pgbench option for debug mode. --> -<listitem> -<para> -Change <link linkend="pgbench"><application>pgbench</application></link> debug mode option from <option>-d</option> to <option>--debug</option> (Greg Sabino Mullane) -</para> + <listitem> + <para> + Change <link + linkend="pgbench"><application>pgbench</application></link> debug + mode option from <option>-d</option> to <option>--debug</option> + (Greg Sabino Mullane) + </para> -<para> -Option <option>-d</option> is now used for the database name, and the new <option>--dbname</option> option can be used as well. -</para> -</listitem> + <para> + Option <option>-d</option> is now used for the database name, + and the new <option>--dbname</option> option can be used as well. + </para> + </listitem> <!-- Author: Tatsuo Ishii <ishii@postgresql.org> 2023-08-30 [3c662643c] Allow pgbench to exit immediately when any client is abo --> -<listitem> -<para> -Add pgbench option <option>--exit-on-abort</option> to exit after any client aborts (Yugo Nagata) -</para> -</listitem> + <listitem> + <para> + Add pgbench option <option>--exit-on-abort</option> to exit after + any client aborts (Yugo Nagata) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-01-24 [94edfe250] pgbench: Add \syncpipeline --> -<listitem> -<para> -Add pgbench command \syncpipeline to allow sending of sync messages (Anthonin Bonnefoy) -</para> -</listitem> + <listitem> + <para> + Add pgbench command \syncpipeline to allow sending of sync messages + (Anthonin Bonnefoy) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-07-19 [3f8c98d0b] pg_archivecleanup: Add - -clean-backup-history --> -<listitem> -<para> -Allow <link linkend="pgarchivecleanup"><application>pg_archivecleanup</application></link> to remove backup history files (Atsushi Torikoshi) -</para> + <listitem> + <para> + Allow <link + linkend="pgarchivecleanup"><application>pg_archivecleanup</application></link> + to remove backup history files (Atsushi Torikoshi) + </para> -<para> -The option is <option>--clean-backup-history</option>. -</para> -</listitem> + <para> + The option is <option>--clean-backup-history</option>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-06-30 [dd7c60f19] Introduce long options in pg_archivecleanup --> -<listitem> -<para> -Add some long options to <application>pg_archivecleanup</application> (Atsushi Torikoshi) -</para> + <listitem> + <para> + Add some long options to <application>pg_archivecleanup</application> + (Atsushi Torikoshi) + </para> -<para> -The long options are <option>--debug</option>, <option>--dry-run</option>, and <option>--strip-extension</option>. -</para> -</listitem> + <para> + The long options are <option>--debug</option>, + <option>--dry-run</option>, and <option>--strip-extension</option>. + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2023-09-21 [cca97ce6a] Allow dbname in pg_basebackup/pg_receivewal connstring --> -<listitem> -<para> -Allow <link linkend="app-pgbasebackup"><application>pg_basebackup</application></link> and <link linkend="app-pgreceivewal"><application>pg_receivewal</application></link> to use dbname in their connection specification (Jelte Fennema-Nio) -</para> + <listitem> + <para> + Allow <link + linkend="app-pgbasebackup"><application>pg_basebackup</application></link> + and <link + linkend="app-pgreceivewal"><application>pg_receivewal</application></link> + to use dbname in their connection specification (Jelte Fennema-Nio) + </para> -<para> -This is useful for connection poolers that are sensitive to the database name. -</para> -</listitem> + <para> + This is useful for connection poolers that are sensitive to the + database name. + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2024-03-06 [d93627bcb] Add - -copy-file-range option to pg_upgrade. --> -<listitem> -<para> -Add <link linkend="pgupgrade"><application>pg_upgrade</application></link> option <option>--copy-file-range</option> (Thomas Munro) -</para> + <listitem> + <para> + Add <link + linkend="pgupgrade"><application>pg_upgrade</application></link> + option <option>--copy-file-range</option> (Thomas Munro) + </para> -<para> -This is supported on <systemitem class="osname">Linux</systemitem> and <systemitem class="osname">FreeBSD</systemitem>. -</para> -</listitem> + <para> + This is supported on <systemitem class="osname">Linux</systemitem> + and <systemitem class="osname">FreeBSD</systemitem>. + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-03-25 [47f99a407] reindexdb: Add the index-level REINDEX with multiple job --> -<listitem> -<para> -Allow <link linkend="app-reindexdb"><application>reindexdb</application></link> <option>--index</option> to process indexes from different tables in parallel (Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov) -</para> -</listitem> + <listitem> + <para> + Allow <link + linkend="app-reindexdb"><application>reindexdb</application></link> + <option>--index</option> to process indexes from different tables + in parallel (Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov) + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> @@ -2192,15 +2579,18 @@ Author: Nathan Bossart <nathan@postgresql.org> 2024-03-11 [1b49d56d3] clusterdb: Allow specifying tables to process in all dat --> -<listitem> -<para> -Allow <link linkend="app-reindexdb">reindexdb</link>, <link linkend="app-vacuumdb">vacuumdb</link>, and <link linkend="app-clusterdb">clusterdb</link> to process objects in all databases matching a pattern (Nathan Bossart) -</para> + <listitem> + <para> + Allow <link linkend="app-reindexdb">reindexdb</link>, + <link linkend="app-vacuumdb">vacuumdb</link>, and <link + linkend="app-clusterdb">clusterdb</link> to process objects in all + databases matching a pattern (Nathan Bossart) + </para> -<para> -The new option <option>--all</option> controls this behavior. -</para> -</listitem> + <para> + The new option <option>--all</option> controls this behavior. + </para> + </listitem> </itemizedlist> @@ -2216,11 +2606,12 @@ Author: Michael Paquier <michael@paquier.xyz> 2023-07-03 [8e278b657] Remove support for OpenSSL 1.0.1 --> -<listitem> -<para> -Remove support for <productname>OpenSSL</productname> 1.0.1 (Michael Paquier) -</para> -</listitem> + <listitem> + <para> + Remove support for <productname>OpenSSL</productname> 1.0.1 + (Michael Paquier) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -2229,11 +2620,12 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2023-11-17 [3c44e7d8d] Allow tests to pass in OpenSSL FIPS mode (rest) --> -<listitem> -<para> -Allow tests to pass in <productname>OpenSSL</productname> <acronym>FIPS</acronym> mode (Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Allow tests to pass in <productname>OpenSSL</productname> + <acronym>FIPS</acronym> mode (Peter Eisentraut) + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> @@ -2242,59 +2634,66 @@ Author: Nathan Bossart <nathan@postgresql.org> 2024-04-06 [41c51f0c6] Optimize visibilitymap_count() with AVX-512 instructions --> -<listitem> -<para> -Use <acronym>CPU AVX</acronym>-512 instructions for bit counting (Paul Amonson, Nathan Bossart, Ants Aasma) -</para> -</listitem> + <listitem> + <para> + Use <acronym>CPU AVX</acronym>-512 instructions for bit counting + (Paul Amonson, Nathan Bossart, Ants Aasma) + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2024-01-25 [820b5af73] jit: Require at least LLVM 10. --> -<listitem> -<para> -Require <productname><acronym>LLVM</acronym></productname> version 10 or later (Thomas Munro) -</para> -</listitem> + <listitem> + <para> + Require <productname><acronym>LLVM</acronym></productname> version + 10 or later (Thomas Munro) + </para> + </listitem> <!-- Author: John Naylor <john.naylor@postgresql.org> 2023-08-10 [4d14ccd6a] Use native CRC instructions on 64-bit LoongArch --> -<listitem> -<para> -Use native <acronym>CRC</acronym> instructions on 64-bit <productname>LoongArch</productname> CPUs (Xudong Yang) -</para> -</listitem> + <listitem> + <para> + Use native <acronym>CRC</acronym> instructions on 64-bit + <productname>LoongArch</productname> CPUs (Xudong Yang) + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-02-28 [0b16bb877] Remove AIX support --> -<listitem> -<para> -Remove <systemitem class="osname"><acronym>AIX</acronym></systemitem> support (Heikki Linnakangas) -</para> -</listitem> + <listitem> + <para> + Remove <systemitem class="osname"><acronym>AIX</acronym></systemitem> + support (Heikki Linnakangas) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-12-20 [1301c80b2] Remove MSVC scripts --> -<listitem> -<para> -Remove the <productname>Microsoft Visual Studio</productname>-specific <productname>PostgreSQL</productname> build option (Michael Paquier) -</para> + <listitem> + <para> + Remove the <productname>Microsoft Visual + Studio</productname>-specific <productname>PostgreSQL</productname> + build option (Michael Paquier) + </para> -<para> -<productname>Meson</productname> is now the only available method for <productname>Visual Studio</productname> builds. -</para> -</listitem> + <para> + <productname>Meson</productname> is now the only available method + for <productname>Visual Studio</productname> builds. + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> @@ -2303,96 +2702,106 @@ Author: Thomas Munro <tmunro@postgresql.org> 2023-07-12 [ce0b0fa3e] Doc: Adjust libpq docs about thread safety. --> -<listitem> -<para> -Remove configure option <option>--disable-thread-safety</option> (Thomas Munro, Heikki Linnakangas) -</para> + <listitem> + <para> + Remove configure option <option>--disable-thread-safety</option> + (Thomas Munro, Heikki Linnakangas) + </para> -<para> -We now assume all supported platforms have sufficient thread support. -</para> -</listitem> + <para> + We now assume all supported platforms have sufficient thread support. + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-02-28 [1c1eec0f2] Remove configure - -with-CC option --> -<listitem> -<para> -Remove <application>configure</application> option <option>--with-CC</option> (Heikki Linnakangas) -</para> + <listitem> + <para> + Remove <application>configure</application> option + <option>--with-CC</option> (Heikki Linnakangas) + </para> -<para> -Setting the <envar>CC</envar> environment variable is now the only supported method for specifying the compiler. -</para> -</listitem> + <para> + Setting the <envar>CC</envar> environment variable is now the only + supported method for specifying the compiler. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2023-10-26 [f0efa5aec] Introduce the concept of read-only StringInfos --> -<listitem> -<para> -User-defined data type receive functions will no longer receive their data null-terminated (David Rowley) -</para> -</listitem> + <listitem> + <para> + User-defined data type receive functions will no longer receive + their data null-terminated (David Rowley) + </para> + </listitem> <!-- Author: Andrew Dunstan <andrew@dunslane.net> 2024-04-04 [3311ea86e] Introduce a non-recursive JSON parser --> -<listitem> -<para> -Add incremental <type>JSON</type> parser for use with huge <type>JSON</type> documents (Andrew Dunstan) -</para> -</listitem> + <listitem> + <para> + Add incremental <type>JSON</type> parser for use with huge + <type>JSON</type> documents (Andrew Dunstan) + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-02-28 [363eb0599] Convert README to Markdown. --> -<listitem> -<para> -Convert top-level <filename>README</filename> file to <productname>Markdown</productname> (Nathan Bossart) -</para> -</listitem> + <listitem> + <para> + Convert top-level <filename>README</filename> file to + <productname>Markdown</productname> (Nathan Bossart) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-12-22 [e2b73f4a4] Stop generating plain-text INSTALL instructions. --> -<listitem> -<para> -Remove no longer needed top-level <filename>INSTALL</filename> file (Tom Lane) -</para> -</listitem> + <listitem> + <para> + Remove no longer needed top-level <filename>INSTALL</filename> file + (Tom Lane) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2023-11-06 [721856ff2] Remove distprep --> -<listitem> -<para> -Remove <application>make</application>'s <literal>distprep</literal> option (Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Remove <application>make</application>'s <literal>distprep</literal> + option (Peter Eisentraut) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-01-23 [79b03dbb3] Support shared libraries on Android (using make) --> -<listitem> -<para> -Add <application>make</application> support for <productname>Android</productname> shared libraries (Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Add <application>make</application> support for + <productname>Android</productname> shared libraries (Peter + Eisentraut) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -2403,37 +2812,40 @@ Author: Michael Paquier <michael@paquier.xyz> 2024-04-08 [f587338de] injection_points: Introduce runtime conditions --> -<listitem> -<para> -Add backend support for injection points (Michael Paquier) -</para> + <listitem> + <para> + Add backend support for injection points (Michael Paquier) + </para> -<para> -This is used for server debugging and they must be enabled at server compile time. -</para> -</listitem> + <para> + This is used for server debugging and they must be enabled at server + compile time. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-04-04 [2a217c371] Coordinate emit_log_hook and all log destinations to sha --> -<listitem> -<para> -Fix <literal>emit_log_hook</literal> to use the same time value as other log records for the same query (Kambam Vinay, Michael Paquier) -</para> -</listitem> + <listitem> + <para> + Fix <literal>emit_log_hook</literal> to use the same time value as + other log records for the same query (Kambam Vinay, Michael Paquier) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-01-25 [7014c9a4b] Doc: improve documentation for jsonpath behavior. --> -<listitem> -<para> -Improve documentation for using <literal>jsonpath</literal> for predicate checks (David Wheeler) -</para> -</listitem> + <listitem> + <para> + Improve documentation for using <literal>jsonpath</literal> for + predicate checks (David Wheeler) + </para> + </listitem> </itemizedlist> @@ -2442,33 +2854,37 @@ Improve documentation for using <literal>jsonpath</literal> for predicate checks <sect3 id="release-17-modules"> <title>Additional Modules</title> - <itemizedlist> + <itemizedlist> <!-- Author: Etsuro Fujita <efujita@postgresql.org> 2023-08-15 [9e9931d2b] Re-allow FDWs and custom scan providers to replace joins --> -<listitem> -<para> -Allow joins with non-join qualifications to be pushed down to foreign servers and custom scans (Richard Guo, Etsuro Fujita) -</para> + <listitem> + <para> + Allow joins with non-join qualifications to be pushed down to + foreign servers and custom scans (Richard Guo, Etsuro Fujita) + </para> -<para> -Foreign data wrappers and custom scans will need to be modified to handle these cases. -</para> -</listitem> + <para> + Foreign data wrappers and custom scans will need to be modified to + handle these cases. + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2023-12-05 [824dbea3e] Add support for deparsing semi-joins to contrib/postgres --> -<listitem> -<para> -Allow pushdown of <literal>EXISTS</literal> and <literal>IN</literal> subqueries to the <xref linkend="postgres-fdw"/> foreign server (Alexander Pyhalov) -</para> -</listitem> + <listitem> + <para> + Allow pushdown of <literal>EXISTS</literal> and <literal>IN</literal> + subqueries to the <xref linkend="postgres-fdw"/> foreign server + (Alexander Pyhalov) + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> @@ -2477,134 +2893,150 @@ Author: John Naylor <john.naylor@postgresql.org> 2024-01-11 [f7f694b21] Update documentation of default fdw_tuple_cost --> -<listitem> -<para> -Increase the default foreign data wrapper tuple cost (David Rowley, Umair Shahid) -</para> + <listitem> + <para> + Increase the default foreign data wrapper tuple cost (David Rowley, + Umair Shahid) + </para> -<para> -This value is used by the optimizer. -</para> -</listitem> + <para> + This value is used by the optimizer. + </para> + </listitem> <!-- Author: Noah Misch <noah@leadboat.com> 2024-01-08 [d3c5f37dd] Make dblink interruptible, via new libpqsrv APIs. --> -<listitem> -<para> -Allow <link linkend="dblink"><application>dblink</application></link> database operations to be interrupted (Noah Misch) -</para> -</listitem> + <listitem> + <para> + Allow <link linkend="dblink"><application>dblink</application></link> + database operations to be interrupted (Noah Misch) + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-03-21 [485f0aa85] Add hash support functions and hash opclass for contrib/ --> -<listitem> -<para> -Allow the creation of hash indexes on <application><xref linkend="ltree"/></application> columns (Tommy Pavlicek) -</para> + <listitem> + <para> + Allow the creation of hash indexes on <application><xref + linkend="ltree"/></application> columns (Tommy Pavlicek) + </para> -<para> -This also enables hash join and hash aggregation on <application>ltree</application> columns. -</para> -</listitem> + <para> + This also enables hash join and hash aggregation on + <application>ltree</application> columns. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-09-20 [59f47fb98] unaccent: Add support for quoted translated characters --> -<listitem> -<para> -Allow <application><xref linkend="unaccent"/></application> character translation rules to contain whitespace and quotes (Michael Paquier) -</para> + <listitem> + <para> + Allow <application><xref linkend="unaccent"/></application> character + translation rules to contain whitespace and quotes (Michael Paquier) + </para> -<para> -The syntax for the <filename>unaccent.rules</filename> file has changed. -</para> -</listitem> + <para> + The syntax for the <filename>unaccent.rules</filename> file has + changed. + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2023-10-28 [5ae208720] Teach contrib/amcheck to check the unique constraint vio --> -<listitem> -<para> -Allow <application><xref linkend="amcheck"/></application> to check for unique constraint violations (Anastasia Lubennikova, Pavel Borisov, Maxim Orlov) -</para> + <listitem> + <para> + Allow <application><xref linkend="amcheck"/></application> to + check for unique constraint violations (Anastasia Lubennikova, + Pavel Borisov, Maxim Orlov) + </para> -<para> -The <application>pg_amcheck</application> option <option>--checkunique</option> will check all unique indexes. -</para> -</listitem> + <para> + The <application>pg_amcheck</application> option + <option>--checkunique</option> will check all unique indexes. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2023-11-07 [3c551ebed] citext: Allow tests to pass in OpenSSL FIPS mode --> -<listitem> -<para> -Allow <application><xref linkend="citext"/></application> tests to pass in OpenSSL <acronym>FIPS</acronym> mode (Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Allow <application><xref linkend="citext"/></application> tests to + pass in OpenSSL <acronym>FIPS</acronym> mode (Peter Eisentraut) + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2023-11-17 [795592865] pgcrypto: Allow tests to pass in OpenSSL FIPS mode --> -<listitem> -<para> -Allow <application><xref linkend="pgcrypto"/></application> tests to pass in OpenSSL <acronym>FIPS</acronym> mode (Peter Eisentraut) -</para> -</listitem> + <listitem> + <para> + Allow <application><xref linkend="pgcrypto"/></application> tests + to pass in OpenSSL <acronym>FIPS</acronym> mode (Peter Eisentraut) + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2023-11-27 [75680c3d8] Retire a few backwards compatibility macros. --> -<listitem> -<para> -Remove some unused <link linkend="spi"><acronym>SPI</acronym></link> macros (Bharath Rupireddy) -</para> -</listitem> + <listitem> + <para> + Remove some unused <link linkend="spi"><acronym>SPI</acronym></link> + macros (Bharath Rupireddy) + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2024-03-04 [cc09e6549] Remove the adminpack contrib extension --> -<listitem> -<para> -Remove <application>adminpack</application> contrib extension (Daniel Gustafsson) -</para> + <listitem> + <para> + Remove <application>adminpack</application> contrib extension + (Daniel Gustafsson) + </para> -<para> -This was used by now end-of-life <productname>pgAdmin III</productname>. -</para> -</listitem> + <para> + This was used by now end-of-life <productname>pgAdmin + III</productname>. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2023-10-20 [2b5154bea] Extend ALTER OPERATOR to allow setting more optimization --> -<listitem> -<para> -Allow <link linkend="sql-alteroperator"><command>ALTER OPERATOR</command></link> to set more optimization attributes (Tommy Pavlicek) -</para> + <listitem> + <para> + Allow <link linkend="sql-alteroperator"><command>ALTER + OPERATOR</command></link> to set more optimization attributes + (Tommy Pavlicek) + </para> -<para> -This is useful for extensions. -</para> -</listitem> + <para> + This is useful for extensions. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -2617,32 +3049,38 @@ Author: Michael Paquier <michael@paquier.xyz> 2023-10-05 [c789f0f6c] dblink: Replace WAIT_EVENT_EXTENSION with custom wait ev --> -<listitem> -<para> -Allow extensions to define <link linkend="xfunc-addin-wait-events">custom wait events</link> (Masahiro Ikeda) -</para> + <listitem> + <para> + Allow extensions to define <link + linkend="xfunc-addin-wait-events">custom wait events</link> + (Masahiro Ikeda) + </para> -<para> -Custom wait events have been added to <application><xref linkend="postgres-fdw"/></application> and <application><xref linkend="dblink"/></application>. -</para> -</listitem> + <para> + Custom wait events have been added to <application><xref + linkend="postgres-fdw"/></application> and <application><xref + linkend="dblink"/></application>. + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2024-04-08 [13453eedd] Add pg_buffercache_evict() function for testing. --> -<listitem> -<para> -Add <application><xref linkend="pgbuffercache"/></application> function <function>pg_buffercache_evict()</function> to allow shared buffer eviction (Palak Chaturvedi, Thomas Munro) -</para> + <listitem> + <para> + Add <application><xref linkend="pgbuffercache"/></application> + function <function>pg_buffercache_evict()</function> to allow shared + buffer eviction (Palak Chaturvedi, Thomas Munro) + </para> -<para> -This is useful for testing. -</para> -</listitem> + <para> + This is useful for testing. + </para> + </listitem> - </itemizedlist> + </itemizedlist> <sect4 id="release-17-pgstatstatements"> <title><link linkend="pgstatstatements"><application>pg_stat_statements</application></link></title> @@ -2654,56 +3092,77 @@ Author: Michael Paquier <michael@paquier.xyz> 2023-09-28 [11c34b342] Show parameters of CALL as constants in pg_stat_statemen --> -<listitem> -<para> -Replace <link linkend="sql-call"><command>CALL</command></link> parameters in <application>pg_stat_statements</application> with placeholders (Sami Imseih) -</para> -</listitem> + <listitem> + <para> + Replace <link linkend="sql-call"><command>CALL</command></link> + parameters in <application>pg_stat_statements</application> with + placeholders (Sami Imseih) + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-07-27 [31de7e60d] Show savepoint names as constants in pg_stat_statements --> -<listitem> -<para> -Replace savepoint names stored in <structname>pg_stat_statements</structname> with placeholders (Greg Sabino Mullane) -</para> + <listitem> + <para> + Replace savepoint names stored in + <structname>pg_stat_statements</structname> with placeholders + (Greg Sabino Mullane) + </para> -<para> -This greatly reduces the number of entries needed to record <link linkend="sql-savepoint"><command>SAVEPOINT</command></link>, <link linkend="sql-release-savepoint"><command>RELEASE SAVEPOINT</command></link>, and <link linkend="sql-rollback-to"><command>ROLLBACK TO SAVEPOINT</command></link> commands. -</para> -</listitem> + <para> + This greatly reduces the number of entries needed to record <link + linkend="sql-savepoint"><command>SAVEPOINT</command></link>, + <link linkend="sql-release-savepoint"><command>RELEASE + SAVEPOINT</command></link>, and <link + linkend="sql-rollback-to"><command>ROLLBACK TO + SAVEPOINT</command></link> commands. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-08-12 [638d42a3c] Show GIDs of two-phase commit commands as constants in p --> -<listitem> -<para> -Replace the two-phase commit <acronym>GID</acronym>s stored in <structname>pg_stat_statements</structname> with placeholders (Michael Paquier) -</para> + <listitem> + <para> + Replace the two-phase commit <acronym>GID</acronym>s stored in + <structname>pg_stat_statements</structname> with placeholders + (Michael Paquier) + </para> -<para> -This greatly reduces the number of entries needed to record <link linkend="sql-prepare-transaction"><command>PREPARE TRANSACTION</command></link>, <link linkend="sql-commit-prepared"><command>COMMIT PREPARED</command></link>, and <link linkend="sql-rollback-prepared"><command>ROLLBACK PREPARED</command></link>. -</para> -</listitem> + <para> + This greatly reduces the number of entries needed to record + <link linkend="sql-prepare-transaction"><command>PREPARE + TRANSACTION</command></link>, <link + linkend="sql-commit-prepared"><command>COMMIT + PREPARED</command></link>, and <link + linkend="sql-rollback-prepared"><command>ROLLBACK + PREPARED</command></link>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2023-08-27 [bb45156f3] Show names of DEALLOCATE as constants in pg_stat_stateme --> -<listitem> -<para> -Track <link linkend="sql-deallocate"><command>DEALLOCATE</command></link> in <structname>pg_stat_statements</structname> (Dagfinn Ilmari Mannsåker, Michael Paquier) -</para> + <listitem> + <para> + Track <link + linkend="sql-deallocate"><command>DEALLOCATE</command></link> + in <structname>pg_stat_statements</structname> (Dagfinn Ilmari + Mannsåker, Michael Paquier) + </para> -<para> -<command>DEALLOCATE</command> names are stored in <structname>pg_stat_statements</structname> as placeholders. -</para> -</listitem> + <para> + <command>DEALLOCATE</command> names are stored in + <structname>pg_stat_statements</structname> as placeholders. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -2712,52 +3171,60 @@ Author: Michael Paquier <michael@paquier.xyz> 2023-10-19 [5147ab1dd] pg_stat_statements: Add local_blk_{read|write}_time --> -<listitem> -<para> -Add local I/O block read/write timing statistics columns of <structname>pg_stat_statements</structname> (Nazir Bilal Yavuz) -</para> + <listitem> + <para> + Add local I/O block read/write timing statistics columns of + <structname>pg_stat_statements</structname> (Nazir Bilal Yavuz) + </para> -<para> -The new columns are <structfield>local_blk_read_time</structfield> and <structfield>local_blk_write_time</structfield>. -</para> -</listitem> + <para> + The new columns are <structfield>local_blk_read_time</structfield> + and <structfield>local_blk_write_time</structfield>. + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2023-09-08 [5a3423ad8] Add JIT deform_counter --> -<listitem> -<para> -Add <acronym>JIT</acronym> deform_counter details to <structname>pg_stat_statements</structname> (Dmitry Dolgov) -</para> -</listitem> + <listitem> + <para> + Add <acronym>JIT</acronym> deform_counter details to + <structname>pg_stat_statements</structname> (Dmitry Dolgov) + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2023-11-27 [dc9f8a798] Track statement entry timestamp in contrib/pg_stat_state --> -<listitem> -<para> -Add optional fourth argument (<literal>minmax_only</literal>) to <function>pg_stat_statements_reset()</function> to allow for the resetting of only min/max statistics (Andrei Zubkov) -</para> + <listitem> + <para> + Add optional fourth argument (<literal>minmax_only</literal>) + to <function>pg_stat_statements_reset()</function> to allow for + the resetting of only min/max statistics (Andrei Zubkov) + </para> -<para> -This argument defaults to <literal>false</literal>. -</para> -</listitem> + <para> + This argument defaults to <literal>false</literal>. + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2023-11-27 [dc9f8a798] Track statement entry timestamp in contrib/pg_stat_state --> -<listitem> -<para> -Add <structname>pg_stat_statements</structname> columns <structfield>stats_since</structfield> and <structfield>minmax_stats_since</structfield> to track entry creation time and last min/max reset time (Andrei Zubkov) -</para> -</listitem> + <listitem> + <para> + Add <structname>pg_stat_statements</structname> + columns <structfield>stats_since</structfield> and + <structfield>minmax_stats_since</structfield> to track entry + creation time and last min/max reset time (Andrei Zubkov) + </para> + </listitem> </itemizedlist> |