diff options
-rw-r--r-- | doc/src/sgml/release-18.sgml | 4077 |
1 files changed, 2335 insertions, 1742 deletions
diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml index 11a4f99a272..662c7d8890f 100644 --- a/doc/src/sgml/release-18.sgml +++ b/doc/src/sgml/release-18.sgml @@ -6,7 +6,7 @@ <formalpara> <title>Release date:</title> - <para>2025-??-??, CURRENT AS OF 2025-05-23</para> + <para>2025-??-??, CURRENT AS OF 2025-06-20</para> </formalpara> <sect2 id="release-18-highlights"> @@ -58,68 +58,80 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2024-10-16 [04bec894a04] initdb: Change default to using data checksums. --> -<listitem> -<para> -Change <xref linkend="app-initdb"/> default to enable data checksums (Greg Sabino Mullane) -<ulink url="&commit_baseurl;04bec894a04">§</ulink> -</para> + <listitem> + <para> + Change <xref linkend="app-initdb"/> default to enable data checksums + (Greg Sabino Mullane) + <ulink url="&commit_baseurl;04bec894a04">§</ulink> + </para> -<para> -Checksums can be disabled with the new <application>initdb</application> option <option>--no-data-checksums</option>. -<xref linkend="pgupgrade"/> requires matching cluster checksum settings, so this new -option can be useful to upgrade non-checksum old clusters. -</para> -</listitem> + <para> + Checksums can be disabled with the + new <application>initdb</application> option + <option>--no-data-checksums</option>. <xref linkend="pgupgrade"/> + requires matching cluster checksum settings, so this new option can + be useful to upgrade non-checksum old clusters. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-01-16 [d7674c9fa] Seek zone abbreviations in the IANA data before timezone --> -<listitem> -<para> -Change time zone abbreviation handling (Tom Lane) -<ulink url="&commit_baseurl;d7674c9fa">§</ulink> -</para> + <listitem> + <para> + Change time zone abbreviation handling (Tom Lane) + <ulink url="&commit_baseurl;d7674c9fa">§</ulink> + </para> -<para> -The system will now favor the current session's time zone abbreviations before checking the server variable <xref linkend="guc-timezone-abbreviations"/>. Previously <varname>timezone_abbreviations</varname> was -checked first. -</para> -</listitem> + <para> + The system will now favor the current session's time + zone abbreviations before checking the server variable + <xref linkend="guc-timezone-abbreviations"/>. Previously + <varname>timezone_abbreviations</varname> was checked first. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-12-02 [db6a4a985] Deprecate MD5 passwords. --> -<listitem> -<para> -Deprecate MD5 password authentication (Nathan Bossart) -<ulink url="&commit_baseurl;db6a4a985">§</ulink> -</para> + <listitem> + <para> + Deprecate <link linkend="auth-password">MD5 password</link> + authentication (Nathan Bossart) + <ulink url="&commit_baseurl;db6a4a985">§</ulink> + </para> -<para> -Support for MD5 passwords will be removed in a future major version release. <xref linkend="sql-createrole"/> and <xref linkend="sql-alterrole"/> now emit deprecation warnings when setting MD5 passwords. -These warnings can be disabled by setting the <xref linkend="guc-md5-password-warnings"/> parameter to <literal>off</literal>. -</para> -</listitem> + <para> + Support for MD5 passwords will be removed in a future major + version release. <xref linkend="sql-createrole"/> and <xref + linkend="sql-alterrole"/> now emit deprecation warnings when + setting MD5 passwords. These warnings can be disabled by setting + the <xref linkend="guc-md5-password-warnings"/> parameter to + <literal>off</literal>. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-09-24 [62ddf7ee9] Add ONLY support for VACUUM and ANALYZE --> -<listitem> -<para> -Change <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> to process the inheritance children of a parent (Michael Harris) -<ulink url="&commit_baseurl;62ddf7ee9">§</ulink> -</para> + <listitem> + <para> + Change <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> + to process the inheritance children of a parent (Michael Harris) + <ulink url="&commit_baseurl;62ddf7ee9">§</ulink> + </para> -<para> -The previous behavior can be performed by using the new <literal>ONLY</literal> option. -</para> -</listitem> + <para> + The previous behavior can be performed by using the new + <literal>ONLY</literal> option. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> @@ -128,107 +140,131 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-10-01 [da8a4c166] Reject a copy EOF marker that has data ahead of it on th --> -<listitem> -<para> -Prevent <link linkend="sql-copy"><command>COPY FROM</command></link> from treating <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane) -<ulink url="&commit_baseurl;770233748">§</ulink> -<ulink url="&commit_baseurl;da8a4c166">§</ulink> -</para> + <listitem> + <para> + Prevent <link linkend="sql-copy"><command>COPY FROM</command></link> + from treating <literal>\.</literal> as an end-of-file marker when + reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane) + <ulink url="&commit_baseurl;770233748">§</ulink> + <ulink url="&commit_baseurl;da8a4c166">§</ulink> + </para> -<para> -<xref linkend="app-psql"/> will still treat <literal>\.</literal> as an end-of-file marker when reading <acronym>CSV</acronym> files from <literal>STDIN</literal>. Older <application>psql</application> clients connecting to <productname>PostgreSQL</productname> 18 servers might -experience <literal>\copy</literal> problems. This -release also enforces that <literal>\.</literal> must appear alone on a line. -</para> -</listitem> + <para> + <xref linkend="app-psql"/> will still treat + <literal>\.</literal> as an end-of-file marker when reading + <acronym>CSV</acronym> files from <literal>STDIN</literal>. + Older <application>psql</application> clients connecting to + <productname>PostgreSQL</productname> 18 servers might experience <link + linkend="app-psql-meta-commands-copy"><literal>\copy</literal></link> + problems. This release also enforces that <literal>\.</literal> + must appear alone on a line. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-10-03 [e2bab2d79] Remove support for unlogged on partitioned tables --> -<listitem> -<para> -Disallow unlogged partitioned tables (Michael Paquier) -<ulink url="&commit_baseurl;e2bab2d79">§</ulink> -</para> + <listitem> + <para> + Disallow unlogged partitioned tables (Michael Paquier) + <ulink url="&commit_baseurl;e2bab2d79">§</ulink> + </para> -<para> -Previously <link linkend="sql-altertable"><command>ALTER TABLE SET [UN]LOGGED</command></link> did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged. -</para> -</listitem> + <para> + Previously <link linkend="sql-altertable"><command>ALTER TABLE SET + [UN]LOGGED</command></link> did nothing, and the creation of an + unlogged partitioned table did not cause its children to be unlogged. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-01-23 [01463e1cc] Ensure that AFTER triggers run as the instigating user. --> -<listitem> -<para> -Execute <literal>AFTER</literal> triggers as the role that was active when trigger events were queued (Laurenz Albe) -<ulink url="&commit_baseurl;01463e1cc">§</ulink> -</para> + <listitem> + <para> + Execute <literal>AFTER</literal> <link + linkend="triggers">triggers</link> as the role that was active when + trigger events were queued (Laurenz Albe) + <ulink url="&commit_baseurl;01463e1cc">§</ulink> + </para> -<para> -Previously such triggers were run as the role that was active at trigger execution time (e.g., at <xref linkend="sql-commit"/>). This is significant for cases where the role is changed between queue time and -transaction commit. -</para> -</listitem> + <para> + Previously such triggers were run as the role that was active at + trigger execution time (e.g., at <xref linkend="sql-commit"/>). + This is significant for cases where the role is changed between queue + time and transaction commit. + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-09-12 [fefa76f70] Remove old RULE privilege completely. --> -<listitem> -<para> -Remove non-functional support for rule privileges in <xref linkend="sql-grant"/>/<xref linkend="sql-revoke"/> (Fujii Masao) -<ulink url="&commit_baseurl;fefa76f70">§</ulink> -</para> + <listitem> + <para> + Remove non-functional support for rule privileges in <xref + linkend="sql-grant"/>/<xref linkend="sql-revoke"/> (Fujii Masao) + <ulink url="&commit_baseurl;fefa76f70">§</ulink> + </para> -<para> -These have been non-functional since <productname>PostgreSQL</productname> 8.2. -</para> -</listitem> + <para> + These have been non-functional since + <productname>PostgreSQL</productname> 8.2. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-08-12 [f0d112759] Remove "parent" column from pg_backend_memory_contexts --> -<listitem> -<para> -Remove column <link linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>parent</structfield> (Melih Mutlu) -<ulink url="&commit_baseurl;f0d112759">§</ulink> -</para> + <listitem> + <para> + Remove column <link + linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>parent</structfield> + (Melih Mutlu) + <ulink url="&commit_baseurl;f0d112759">§</ulink> + </para> -<para> -This is no longer needed since <structname>pg_backend_memory_contexts</structname>.<structfield>path</structfield> was added. -</para> -</listitem> + <para> + This is no longer needed since + <structname>pg_backend_memory_contexts</structname>.<structfield>path</structfield> + was added. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-07-25 [32d3ed816] Add path column to pg_backend_memory_contexts view Author: David Rowley <drowley@postgresql.org> 2025-04-18 [d9e03864b] Make levels 1-based in -pg_log_backend_memory_contexts() + pg_log_backend_memory_contexts() Author: Fujii Masao <fujii@postgresql.org> 2025-04-21 [706cbed35] doc: Fix memory context level in pg_log_backend_memory_c --> -<listitem> -<para> -Change <structname>pg_backend_memory_contexts</structname>.<structfield>level</structfield> and <function>pg_log_backend_memory_contexts()</function> to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao) -<ulink url="&commit_baseurl;32d3ed816">§</ulink> -<ulink url="&commit_baseurl;d9e03864b">§</ulink> -<ulink url="&commit_baseurl;706cbed35">§</ulink> -</para> + <listitem> + <para> + Change + <structname>pg_backend_memory_contexts</structname>.<structfield>level</structfield> + and <link + linkend="functions-admin-signal-table"><function>pg_log_backend_memory_contexts()</function></link> + to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, + Fujii Masao) + <ulink url="&commit_baseurl;32d3ed816">§</ulink> + <ulink url="&commit_baseurl;d9e03864b">§</ulink> + <ulink url="&commit_baseurl;706cbed35">§</ulink> + </para> -<para> -These were previously zero-based. -</para> -</listitem> + <para> + These were previously zero-based. + </para> + </listitem> </itemizedlist> @@ -256,40 +292,48 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> 2025-02-17 [fc069a3a6] Implement Self-Join Elimination --> -<listitem> -<para> -Automatically remove some unnecessary table self-joins (Andrey Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina) -<ulink url="&commit_baseurl;fc069a3a6">§</ulink> -</para> + <listitem> + <para> + Automatically remove some unnecessary table self-joins (Andrey + Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina) + <ulink url="&commit_baseurl;fc069a3a6">§</ulink> + </para> -<para> -This optimization can be disabled using server variable <xref linkend="guc-enable-self-join-elimination"/>. -</para> -</listitem> + <para> + This optimization can be disabled using server variable <xref + linkend="guc-enable-self-join-elimination"/>. + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2025-04-04 [c0962a113] Convert 'x IN (VALUES ...)' to 'x = ANY ...' then approp --> -<listitem> -<para> -Convert some <literal>IN (VALUES ...)</literal> to <literal>x = ANY ...</literal> for better optimizer statistics (Alena Rybakina, Andrei Lepikhov) -<ulink url="&commit_baseurl;c0962a113">§</ulink> -</para> -</listitem> + <listitem> + <para> + Convert some <link + linkend="functions-comparisons-in-scalar"><literal>IN (VALUES + ...)</literal></link> to <literal>x = ANY ...</literal> for better + optimizer statistics (Alena Rybakina, Andrei Lepikhov) + <ulink url="&commit_baseurl;c0962a113">§</ulink> + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2024-11-24 [ae4569161] Teach bitmap path generation about transforming OR-claus --> -<listitem> -<para> -Allow transforming <literal>OR</literal>-clauses to arrays for faster index processing (Alexander Korotkov, Andrey Lepikhov) -<ulink url="&commit_baseurl;ae4569161">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow transforming <link + linkend="functions-logical"><literal>OR</literal></link>-clauses + to arrays for faster index processing (Alexander Korotkov, Andrey + Lepikhov) + <ulink url="&commit_baseurl;ae4569161">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> @@ -302,48 +346,60 @@ Author: David Rowley <drowley@postgresql.org> 2024-09-05 [908a96861] Optimize WindowAgg's use of tuplestores --> -<listitem> -<para> -Speed up the processing of <literal>INTERSECT</literal>, <literal>EXCEPT</literal>, window aggregates, and view column aliases (Tom Lane, David Rowley) -<ulink url="&commit_baseurl;52c707483">§</ulink> -<ulink url="&commit_baseurl;276279295">§</ulink> -<ulink url="&commit_baseurl;8d96f57d5">§</ulink> -<ulink url="&commit_baseurl;908a96861">§</ulink> -</para> -</listitem> + <listitem> + <para> + Speed up the processing of <link + linkend="sql-intersect"><literal>INTERSECT</literal></link>, + <link linkend="sql-except"><literal>EXCEPT</literal></link>, <link + linkend="tutorial-window">window aggregates</link>, and <link + linkend="sql-createview">view column aliases</link> (Tom Lane, + David Rowley) + <ulink url="&commit_baseurl;52c707483">§</ulink> + <ulink url="&commit_baseurl;276279295">§</ulink> + <ulink url="&commit_baseurl;8d96f57d5">§</ulink> + <ulink url="&commit_baseurl;908a96861">§</ulink> + </para> + </listitem> <!-- Author: Richard Guo <rguo@postgresql.org> 2024-11-26 [a8ccf4e93] Reordering DISTINCT keys to match input path's pathkeys --> -<listitem> -<para> -Allow the keys of <link linkend="sql-select"><command>SELECT DISTINCT</command></link> to be internally reordered to avoid sorting (Richard Guo) -<ulink url="&commit_baseurl;a8ccf4e93">§</ulink> -</para> + <listitem> + <para> + Allow the keys of <link linkend="sql-distinct"><command>SELECT + DISTINCT</command></link> to be internally reordered to avoid sorting + (Richard Guo) + <ulink url="&commit_baseurl;a8ccf4e93">§</ulink> + </para> -<para> -This optimization can be disabled using <xref linkend="guc-enable-distinct-reordering"/>. -</para> -</listitem> + <para> + This optimization can be disabled using <xref + linkend="guc-enable-distinct-reordering"/>. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-12-12 [bd10ec529] Detect redundant GROUP BY columns using UNIQUE indexes --> -<listitem> -<para> -Ignore <literal>GROUP BY</literal> columns that are functionally dependent on other columns (Zhang Mingli, Jian He, David Rowley) -<ulink url="&commit_baseurl;bd10ec529">§</ulink> -</para> + <listitem> + <para> + Ignore <link linkend="sql-groupby"><literal>GROUP BY</literal></link> + columns that are functionally dependent on other columns (Zhang + Mingli, Jian He, David Rowley) + <ulink url="&commit_baseurl;bd10ec529">§</ulink> + </para> -<para> -If a <literal>GROUP BY</literal> clause includes all columns of a unique index, as well as other columns of the same table, those other columns are redundant and can be dropped -from the grouping. This was already true for non-deferred primary keys. -</para> -</listitem> + <para> + If a <literal>GROUP BY</literal> clause includes all columns of + a unique index, as well as other columns of the same table, those + other columns are redundant and can be dropped from the grouping. + This was already true for non-deferred primary keys. + </para> + </listitem> <!-- Author: Richard Guo <rguo@postgresql.org> @@ -356,19 +412,26 @@ Author: Richard Guo <rguo@postgresql.org> 2025-03-13 [cc5d98525] Fix incorrect handling of subquery pullup --> -<listitem> -<para> -Allow some <literal>HAVING</literal> clauses on <literal>GROUPING SETS</literal> to be pushed to <literal>WHERE</literal> clauses (Richard Guo) -<ulink url="&commit_baseurl;67a54b9e8">§</ulink> -<ulink url="&commit_baseurl;247dea89f">§</ulink> -<ulink url="&commit_baseurl;f5050f795">§</ulink> -<ulink url="&commit_baseurl;cc5d98525">§</ulink> -</para> - -<para> -This allows earlier row filtering. This release also fixes some <literal>GROUPING SETS</literal> queries that used to return incorrect results. -</para> -</listitem> + <listitem> + <para> + Allow some <link + linkend="sql-having"><literal>HAVING</literal></link> clauses + on <link linkend="queries-grouping-sets"><literal>GROUPING + SETS</literal></link> to be pushed to <link + linkend="sql-where"><literal>WHERE</literal></link> clauses + (Richard Guo) + <ulink url="&commit_baseurl;67a54b9e8">§</ulink> + <ulink url="&commit_baseurl;247dea89f">§</ulink> + <ulink url="&commit_baseurl;f5050f795">§</ulink> + <ulink url="&commit_baseurl;cc5d98525">§</ulink> + </para> + + <para> + This allows earlier row filtering. This release also fixes some + <literal>GROUPING SETS</literal> queries that used to return + incorrect results. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> @@ -377,41 +440,49 @@ Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2024-12-02 [97173536e] Add a planner support function for numeric generate_seri --> -<listitem> -<para> -Improve row estimates for <function>generate_series()</function> using <type>numeric</type> and <type>timestamp</type> values (David Rowley, Song Jinzhou) -<ulink url="&commit_baseurl;036bdcec9">§</ulink> -<ulink url="&commit_baseurl;97173536e">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve row estimates for <link + linkend="functions-srf-series"><function>generate_series()</function></link> + using <link linkend="datatype-numeric"><type>numeric</type></link> + and <link linkend="datatype-datetime"><type>timestamp</type></link> + values (David Rowley, Song Jinzhou) + <ulink url="&commit_baseurl;036bdcec9">§</ulink> + <ulink url="&commit_baseurl;97173536e">§</ulink> + </para> + </listitem> <!-- Author: Richard Guo <rguo@postgresql.org> 2024-07-05 [aa86129e1] Support "Right Semi Join" plan shapes --> -<listitem> -<para> -Allow the optimizer to use <literal>Right Semi Join</literal> plans (Richard Guo) -<ulink url="&commit_baseurl;aa86129e1">§</ulink> -</para> + <listitem> + <para> + Allow the optimizer to use <literal>Right Semi Join</literal> plans + (Richard Guo) + <ulink url="&commit_baseurl;aa86129e1">§</ulink> + </para> -<para> -Semi-joins are used when needing to find if there is at least one match. -</para> -</listitem> + <para> + Semi-joins are used when needing to find if there is at least + one match. + </para> + </listitem> <!-- Author: Richard Guo <rguo@postgresql.org> 2024-10-09 [828e94c9d] Consider explicit incremental sort for mergejoins --> -<listitem> -<para> -Allow merge joins to use incremental sorts (Richard Guo) -<ulink url="&commit_baseurl;828e94c9d">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow merge joins to use <link + linkend="guc-enable-incremental-sort">incremental sorts</link> + (Richard Guo) + <ulink url="&commit_baseurl;828e94c9d">§</ulink> + </para> + </listitem> <!-- Author: Amit Langote <amitlan@postgresql.org> @@ -420,13 +491,14 @@ Author: David Rowley <drowley@postgresql.org> 2025-04-08 [d69d45a5a] Speedup child EquivalenceMember lookup in planner --> -<listitem> -<para> -Improve the efficiency of planning queries accessing many partitions (Ashutosh Bapat, Yuya Watari, David Rowley) -<ulink url="&commit_baseurl;88f55bc97">§</ulink> -<ulink url="&commit_baseurl;d69d45a5a">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve the efficiency of planning queries accessing many partitions + (Ashutosh Bapat, Yuya Watari, David Rowley) + <ulink url="&commit_baseurl;88f55bc97">§</ulink> + <ulink url="&commit_baseurl;d69d45a5a">§</ulink> + </para> + </listitem> <!-- Author: Richard Guo <rguo@postgresql.org> @@ -435,25 +507,28 @@ Author: Richard Guo <rguo@postgresql.org> 2024-07-29 [513f4472a] Reduce memory used by partitionwise joins --> -<listitem> -<para> -Allow partitionwise joins in more cases, and reduce its memory usage (Richard Guo, Tom Lane, Ashutosh Bapat) -<ulink url="&commit_baseurl;9b282a935">§</ulink> -<ulink url="&commit_baseurl;513f4472a">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <link linkend="guc-enable-partitionwise-join">partitionwise + joins</link> in more cases, and reduce its memory usage (Richard Guo, + Tom Lane, Ashutosh Bapat) + <ulink url="&commit_baseurl;9b282a935">§</ulink> + <ulink url="&commit_baseurl;513f4472a">§</ulink> + </para> + </listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2025-03-10 [fae535da0] Teach Append to consider tuple_fraction when accumulatin --> -<listitem> -<para> -Improve cost estimates of partition queries (Nikita Malakhov, Andrei Lepikhov) -<ulink url="&commit_baseurl;fae535da0">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve cost estimates of partition queries (Nikita Malakhov, + Andrei Lepikhov) + <ulink url="&commit_baseurl;fae535da0">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> @@ -462,25 +537,26 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-04-17 [09b07c295] Minor performance improvement for SQL-language functions --> -<listitem> -<para> -Improve <acronym>SQL</acronym>-language function plan caching (Alexander Pyhalov, Tom Lane) -<ulink url="&commit_baseurl;0dca5d68d">§</ulink> -<ulink url="&commit_baseurl;09b07c295">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve <link linkend="xfunc-sql"><acronym>SQL</acronym>-language + function</link> plan caching (Alexander Pyhalov, Tom Lane) + <ulink url="&commit_baseurl;0dca5d68d">§</ulink> + <ulink url="&commit_baseurl;09b07c295">§</ulink> + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2024-08-21 [e22253467] Treat number of disabled nodes in a path as a separate c --> -<listitem> -<para> -Improve handling of disabled optimizer features (Robert Haas) -<ulink url="&commit_baseurl;e22253467">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve handling of disabled optimizer features (Robert Haas) + <ulink url="&commit_baseurl;e22253467">§</ulink> + </para> + </listitem> </itemizedlist> @@ -498,18 +574,19 @@ Author: Peter Geoghegan <pg@bowt.ie> 2025-04-04 [8a510275d] Further optimize nbtree search scan key comparisons. --> -<listitem> -<para> -Allow skip scans of btree indexes (Peter Geoghegan) -<ulink url="&commit_baseurl;92fe23d93">§</ulink> -<ulink url="&commit_baseurl;8a510275d">§</ulink> -</para> + <listitem> + <para> + Allow skip scans of <link linkend="xfunc-sql">btree</link> indexes + (Peter Geoghegan) + <ulink url="&commit_baseurl;92fe23d93">§</ulink> + <ulink url="&commit_baseurl;8a510275d">§</ulink> + </para> -<para> -This allows multi-column btree indexes to be used by queries that only -equality-reference the second or later indexed columns. -</para> -</listitem> + <para> + This allows multi-column btree indexes to be used by queries that + only equality-reference the second or later indexed columns. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -518,41 +595,45 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2025-03-18 [9d6db8bec] Allow non-btree unique indexes for matviews --> -<listitem> -<para> -Allow non-btree unique indexes to be used as partition keys and in materialized views (Mark Dilger) -<ulink url="&commit_baseurl;f278e1fe3">§</ulink> -<ulink url="&commit_baseurl;9d6db8bec">§</ulink> -</para> + <listitem> + <para> + Allow non-btree unique indexes to be used as partition keys and in + materialized views (Mark Dilger) + <ulink url="&commit_baseurl;f278e1fe3">§</ulink> + <ulink url="&commit_baseurl;9d6db8bec">§</ulink> + </para> -<para> -The index type must still support equality. -</para> -</listitem> + <para> + The index type must still support equality. + </para> + </listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2025-03-03 [8492feb98] Allow parallel CREATE INDEX for GIN indexes --> -<listitem> -<para> -Allow <literal>GIN</literal> indexes to be created in parallel (Tomas Vondra, Matthias van de Meent) -<ulink url="&commit_baseurl;8492feb98">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <link linkend="gin"><literal>GIN</literal></link> indexes to + be created in parallel (Tomas Vondra, Matthias van de Meent) + <ulink url="&commit_baseurl;8492feb98">§</ulink> + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2025-04-02 [e9e7b6604] Add GiST and btree sortsupport routines for range types --> -<listitem> -<para> -Allow values to be sorted to speed range-type GiST and btree index builds (Bernd Helmle) -<ulink url="&commit_baseurl;e9e7b6604">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow values to be sorted to speed range-type <link + linkend="gist">GiST</link> and <link linkend="btree">btree</link> + index builds (Bernd Helmle) + <ulink url="&commit_baseurl;e9e7b6604">§</ulink> + </para> + </listitem> </itemizedlist> @@ -588,41 +669,51 @@ Author: Andres Freund <andres@anarazel.de> 2025-03-30 [2a5e709e7] Enable IO concurrency on all systems --> -<listitem> -<para> -Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavuz, Melanie Plageman) -<ulink url="&commit_baseurl;02844012b">§</ulink> -<ulink url="&commit_baseurl;da7226993">§</ulink> -<ulink url="&commit_baseurl;55b454d0e">§</ulink> -<ulink url="&commit_baseurl;247ce06b8">§</ulink> -<ulink url="&commit_baseurl;10f664684">§</ulink> -<ulink url="&commit_baseurl;06fb5612c">§</ulink> -<ulink url="&commit_baseurl;c325a7633">§</ulink> -<ulink url="&commit_baseurl;50cb7505b">§</ulink> -<ulink url="&commit_baseurl;047cba7fa">§</ulink> -<ulink url="&commit_baseurl;12ce89fd0">§</ulink> -<ulink url="&commit_baseurl;2a5e709e7">§</ulink> -</para> - -<para> -This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc. -This is enabled by server variable <xref linkend="guc-io-method"/>, with server variables <xref linkend="guc-io-combine-limit"/> and <xref linkend="guc-io-max-combine-limit"/> added to control it. This also enables -<xref linkend="guc-effective-io-concurrency"/> and <xref linkend="guc-maintenance-io-concurrency"/> values greater than zero for systems without <function>fadvise()</function> support. The new system view <link linkend="view-pg-aios"><structname>pg_aios</structname></link> shows the file handles being used -for asynchronous I/O. -</para> -</listitem> + <listitem> + <para> + Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, + Nazir Bilal Yavuz, Melanie Plageman) + <ulink url="&commit_baseurl;02844012b">§</ulink> + <ulink url="&commit_baseurl;da7226993">§</ulink> + <ulink url="&commit_baseurl;55b454d0e">§</ulink> + <ulink url="&commit_baseurl;247ce06b8">§</ulink> + <ulink url="&commit_baseurl;10f664684">§</ulink> + <ulink url="&commit_baseurl;06fb5612c">§</ulink> + <ulink url="&commit_baseurl;c325a7633">§</ulink> + <ulink url="&commit_baseurl;50cb7505b">§</ulink> + <ulink url="&commit_baseurl;047cba7fa">§</ulink> + <ulink url="&commit_baseurl;12ce89fd0">§</ulink> + <ulink url="&commit_baseurl;2a5e709e7">§</ulink> + </para> + + <para> + This feature allows backends to queue multiple read requests, + which allows for more efficient sequential scans, bitmap + heap scans, vacuums, etc. This is enabled by server + variable <xref linkend="guc-io-method"/>, with server + variables <xref linkend="guc-io-combine-limit"/> and <xref + linkend="guc-io-max-combine-limit"/> added to control it. + This also enables <xref linkend="guc-effective-io-concurrency"/> + and <xref linkend="guc-maintenance-io-concurrency"/> + values greater than zero for systems without + <function>fadvise()</function> support. The new system view <link + linkend="view-pg-aios"><structname>pg_aios</structname></link> + shows the file handles being used for asynchronous I/O. + </para> + </listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2024-09-21 [c4d5cb71d] Increase the number of fast-path lock slots --> -<listitem> -<para> -Improve the locking performance of queries that access many relations (Tomas Vondra) -<ulink url="&commit_baseurl;c4d5cb71d">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve the locking performance of queries that access many relations + (Tomas Vondra) + <ulink url="&commit_baseurl;c4d5cb71d">§</ulink> + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> @@ -637,20 +728,24 @@ Author: Jeff Davis <jdavis@postgresql.org> 2025-03-24 [626df47ad] Remove 'additional' pointer from TupleHashEntryData. --> -<listitem> -<para> -Improve the performance and reduce memory usage of hash joins and <literal>GROUP BY</literal> (David Rowley, Jeff Davis) -<ulink url="&commit_baseurl;adf97c156">§</ulink> -<ulink url="&commit_baseurl;0f5738202">§</ulink> -<ulink url="&commit_baseurl;4d143509c">§</ulink> -<ulink url="&commit_baseurl;a0942f441">§</ulink> -<ulink url="&commit_baseurl;626df47ad">§</ulink> -</para> + <listitem> + <para> + Improve the performance and reduce memory usage of hash joins and + <link linkend="sql-groupby"><literal>GROUP BY</literal></link> + (David Rowley, Jeff Davis) + <ulink url="&commit_baseurl;adf97c156">§</ulink> + <ulink url="&commit_baseurl;0f5738202">§</ulink> + <ulink url="&commit_baseurl;4d143509c">§</ulink> + <ulink url="&commit_baseurl;a0942f441">§</ulink> + <ulink url="&commit_baseurl;626df47ad">§</ulink> + </para> -<para> -This also improves hash set operations used by <literal>EXCEPT</literal>, and hash lookups of subplan values. -</para> -</listitem> + <para> + This also improves hash set operations used by <link + linkend="sql-except"><literal>EXCEPT</literal></link>, and hash + lookups of subplan values. + </para> + </listitem> <!-- Author: Melanie Plageman <melanieplageman@gmail.com> @@ -659,34 +754,41 @@ Author: Melanie Plageman <melanieplageman@gmail.com> 2025-03-03 [06eae9e62] Trigger more frequent autovacuums with relallfrozen --> -<listitem> -<para> -Allow normal vacuums to freeze some pages, even though they are all-visible (Melanie Plageman) -<ulink url="&commit_baseurl;052026c9b">§</ulink> -<ulink url="&commit_baseurl;06eae9e62">§</ulink> -</para> + <listitem> + <para> + Allow normal vacuums to freeze some pages, even though they are + all-visible (Melanie Plageman) + <ulink url="&commit_baseurl;052026c9b">§</ulink> + <ulink url="&commit_baseurl;06eae9e62">§</ulink> + </para> -<para> -This reduces the overhead of later full-relation freezing. The aggressiveness of this can be controlled by server variable and per-table setting <xref linkend="guc-vacuum-max-eager-freeze-failure-rate"/>. -Previously vacuum never processed all-visible pages until freezing was required. -</para> -</listitem> + <para> + This reduces the overhead of later full-relation + freezing. The aggressiveness of this can be + controlled by server variable and per-table setting <xref + linkend="guc-vacuum-max-eager-freeze-failure-rate"/>. Previously + vacuum never processed all-visible pages until freezing was required. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-03-20 [0164a0f9e] Add vacuum_truncate configuration parameter. --> -<listitem> -<para> -Add server variable <xref linkend="guc-vacuum-truncate"/> to control file truncation during <xref linkend="sql-vacuum"/> (Nathan Bossart, Gurjeet Singh) -<ulink url="&commit_baseurl;0164a0f9e">§</ulink> -</para> + <listitem> + <para> + Add server variable <xref linkend="guc-vacuum-truncate"/> to control + file truncation during <xref linkend="sql-vacuum"/> (Nathan Bossart, + Gurjeet Singh) + <ulink url="&commit_baseurl;0164a0f9e">§</ulink> + </para> -<para> -A storage-level parameter with the same name and behavior already existed. -</para> -</listitem> + <para> + A storage-level parameter with the same name and behavior already + existed. + </para> + </listitem> <!-- Author: Melanie Plageman <melanieplageman@gmail.com> @@ -695,17 +797,20 @@ Author: Melanie Plageman <melanieplageman@gmail.com> 2025-03-18 [cc6be07eb] Increase default maintenance_io_concurrency to 16 --> -<listitem> -<para> -Increase server variables <xref linkend="guc-effective-io-concurrency"/>'s and <xref linkend="guc-maintenance-io-concurrency"/>'s default values to 16 (Melanie Plageman) -<ulink url="&commit_baseurl;ff79b5b2a">§</ulink> -<ulink url="&commit_baseurl;cc6be07eb">§</ulink> -</para> + <listitem> + <para> + Increase server variables <xref + linkend="guc-effective-io-concurrency"/>'s and <xref + linkend="guc-maintenance-io-concurrency"/>'s default values to 16 + (Melanie Plageman) + <ulink url="&commit_baseurl;ff79b5b2a">§</ulink> + <ulink url="&commit_baseurl;cc6be07eb">§</ulink> + </para> -<para> -This more accurately reflects modern hardware. -</para> -</listitem> + <para> + This more accurately reflects modern hardware. + </para> + </listitem> </itemizedlist> @@ -721,72 +826,90 @@ Author: Melanie Plageman <melanieplageman@gmail.com> 2025-03-12 [9219093ca] Modularize log_connections output --> -<listitem> -<para> -Increase the logging granularity of server variable <xref linkend="guc-log-connections"/> (Melanie Plageman) -<ulink url="&commit_baseurl;9219093ca">§</ulink> -</para> + <listitem> + <para> + Increase the logging granularity of server variable <xref + linkend="guc-log-connections"/> (Melanie Plageman) + <ulink url="&commit_baseurl;9219093ca">§</ulink> + </para> -<para> -This server variable was previously only boolean; these options are still supported. -</para> -</listitem> + <para> + This server variable was previously only boolean, which is still + supported. + </para> + </listitem> <!-- Author: Melanie Plageman <melanieplageman@gmail.com> 2025-03-12 [18cd15e70] Add connection establishment duration logging --> -<listitem> -<para> -Add <varname>log_connections</varname> option to report the duration of connection stages (Melanie Plageman) -<ulink url="&commit_baseurl;18cd15e70">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <varname>log_connections</varname> option to report the duration + of connection stages (Melanie Plageman) + <ulink url="&commit_baseurl;18cd15e70">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-04-07 [3516ea768] Add local-address escape "%L" to log_line_prefix. --> -<listitem> -<para> -Add <xref linkend="guc-log-line-prefix"/> escape <literal>%L</literal> to output the client <acronym>IP</acronym> address (Greg Sabino Mullane) -<ulink url="&commit_baseurl;3516ea768">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="guc-log-line-prefix"/> escape + <literal>%L</literal> to output the client <acronym>IP</acronym> + address (Greg Sabino Mullane) + <ulink url="&commit_baseurl;3516ea768">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2025-03-14 [6d376c3b0] Add GUC option to log lock acquisition failures. +Author: Fujii Masao <fujii@postgresql.org> +2025-06-03 [73bdcfab3] Rename log_lock_failure GUC to log_lock_failures for con --> -<listitem> -<para> -Add server variable <xref linkend="guc-log-lock-failures"/> to log lock acquisition failures (Yuki Seino) -<ulink url="&commit_baseurl;6d376c3b0">§</ulink> -</para> + <listitem> + <para> + Add server variable <xref linkend="guc-log-lock-failures"/> to log + lock acquisition failures (Yuki Seino, Fujii Masao) + <ulink url="&commit_baseurl;6d376c3b0">§</ulink> + <ulink url="&commit_baseurl;73bdcfab3">§</ulink> + </para> -<para> -Specifically it reports <link linkend="sql-select"><command>SELECT ... NOWAIT</command></link> lock failures. -</para> -</listitem> + <para> + Specifically it reports <link + linkend="sql-for-update-share"><command>SELECT + ... NOWAIT</command></link> lock failures. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-01-28 [30a6ed0ce] Track per-relation cumulative time spent in [auto]vacuum --> -<listitem> -<para> -Modify <link linkend="monitoring-pg-stat-all-tables-view"><structname>pg_stat_all_tables</structname></link> and its variants to report the time spent in <literal>VACUUM</literal>, <literal>ANALYZE</literal>, and their automatic variants (Sami Imseih) -<ulink url="&commit_baseurl;30a6ed0ce">§</ulink> -</para> + <listitem> + <para> + Modify <link + linkend="monitoring-pg-stat-all-tables-view"><structname>pg_stat_all_tables</structname></link> + and its variants to report the time spent in <xref + linkend="sql-vacuum"/>, <xref linkend="sql-analyze"/>, and their + <link linkend="autovacuum">automatic</link> variants (Sami Imseih) + <ulink url="&commit_baseurl;30a6ed0ce">§</ulink> + </para> -<para> -The new columns are <structfield>total_vacuum_time</structfield>, <structfield>total_autovacuum_time</structfield>, <structfield>total_analyze_time</structfield>, and <structfield>total_autoanalyze_time</structfield>. -</para> -</listitem> + <para> + The new columns are <structfield>total_vacuum_time</structfield>, + <structfield>total_autovacuum_time</structfield>, + <structfield>total_analyze_time</structfield>, and + <structfield>total_autoanalyze_time</structfield>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> @@ -795,18 +918,25 @@ Author: Nathan Bossart <nathan@postgresql.org> 2025-02-14 [7720082ae] Add delay time to VACUUM/ANALYZE (VERBOSE) and autovacuu --> -<listitem> -<para> -Add delay time reporting to <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> (Bertrand Drouvot, Nathan Bossart) -<ulink url="&commit_baseurl;bb8dff999">§</ulink> -<ulink url="&commit_baseurl;7720082ae">§</ulink> -</para> + <listitem> + <para> + Add delay time reporting to <xref linkend="sql-vacuum"/> and <xref + linkend="sql-analyze"/> (Bertrand Drouvot, Nathan Bossart) + <ulink url="&commit_baseurl;bb8dff999">§</ulink> + <ulink url="&commit_baseurl;7720082ae">§</ulink> + </para> -<para> -This information appears in the autovacuum logs, the system views <link linkend="vacuum-progress-reporting"><structname>pg_stat_progress_vacuum</structname></link> and <link linkend="pg-stat-progress-analyze-view"><structname>pg_stat_progress_analyze</structname></link>, and the output of <command>VACUUM</command> and <command>ANALYZE</command> when in <literal>VERBOSE</literal> -mode; tracking must be enabled with the server variable <xref linkend="guc-track-cost-delay-timing"/>. -</para> -</listitem> + <para> + This information appears in the server log, the system views <link + linkend="vacuum-progress-reporting"><structname>pg_stat_progress_vacuum</structname></link> + and <link + linkend="pg-stat-progress-analyze-view"><structname>pg_stat_progress_analyze</structname></link>, + and the output of <xref linkend="sql-vacuum"/> and <xref + linkend="sql-analyze"/> when in <literal>VERBOSE</literal> + mode; tracking must be enabled with the server variable <xref + linkend="guc-track-cost-delay-timing"/>. + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> @@ -815,25 +945,29 @@ Author: Masahiko Sawada <msawada@postgresql.org> 2024-09-09 [bb7775234] Add WAL usage reporting to ANALYZE VERBOSE output. --> -<listitem> -<para> -Add <acronym>WAL</acronym>, <acronym>CPU</acronym>, and average read statistics output to <command>ANALYZE VERBOSE</command> (Anthonin Bonnefoy) -<ulink url="&commit_baseurl;4c1b4cdb8">§</ulink> -<ulink url="&commit_baseurl;bb7775234">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <acronym>WAL</acronym>, <acronym>CPU</acronym>, and average + read statistics output to <command>ANALYZE VERBOSE</command> + (Anthonin Bonnefoy) + <ulink url="&commit_baseurl;4c1b4cdb8">§</ulink> + <ulink url="&commit_baseurl;bb7775234">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-02-17 [6a8a7ce47] Add information about WAL buffers full to VACUUM/ANALYZE --> -<listitem> -<para> -Add full <acronym>WAL</acronym> buffer count to <command>VACUUM</command>/<command>ANALYZE (VERBOSE)</command> and autovacuum log output (Bertrand Drouvot) -<ulink url="&commit_baseurl;6a8a7ce47">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add full <acronym>WAL</acronym> buffer count to + <command>VACUUM</command>/<command>ANALYZE (VERBOSE)</command> + and autovacuum log output (Bertrand Drouvot) + <ulink url="&commit_baseurl;6a8a7ce47">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -842,33 +976,43 @@ Author: Michael Paquier <michael@paquier.xyz> 2025-03-03 [3f1db99bf] Handle auxiliary processes in SQL functions of backend s --> -<listitem> -<para> -Add per-backend I/O statistics reporting (Bertrand Drouvot) -<ulink url="&commit_baseurl;9aea73fc6">§</ulink> -<ulink url="&commit_baseurl;3f1db99bf">§</ulink> -</para> + <listitem> + <para> + Add per-backend I/O statistics reporting (Bertrand Drouvot) + <ulink url="&commit_baseurl;9aea73fc6">§</ulink> + <ulink url="&commit_baseurl;3f1db99bf">§</ulink> + </para> -<para> -The statistics are accessed via <function>pg_stat_get_backend_io()</function>. Per-backend I/O statistics can be cleared via <function>pg_stat_reset_backend_stats()</function>. -</para> -</listitem> + <para> + The statistics are accessed via <link + linkend="pg-stat-get-backend-io"><function>pg_stat_get_backend_io()</function></link>. + Per-backend I/O statistics can be cleared via <link + linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_backend_stats()</function></link>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-01-14 [f92c854cf] Make pg_stat_io count IOs as bytes instead of blocks for --> -<listitem> -<para> -Add <link linkend="monitoring-pg-stat-io-view"><structname>pg_stat_io</structname></link> columns to report I/O activity in bytes (Nazir Bilal Yavuz) -<ulink url="&commit_baseurl;f92c854cf">§</ulink> -</para> + <listitem> + <para> + Add <link + linkend="monitoring-pg-stat-io-view"><structname>pg_stat_io</structname></link> + columns to report I/O activity in bytes (Nazir Bilal Yavuz) + <ulink url="&commit_baseurl;f92c854cf">§</ulink> + </para> -<para> -The new columns are <structfield>read_bytes</structfield>, <structfield>write_bytes</structfield>, and <structfield>extend_bytes</structfield>. The <structfield>op_bytes</structfield> column, which always equaled <literal>BLCKSZ</literal>, has been removed. -</para> -</listitem> + <para> + The new columns are <structfield>read_bytes</structfield>, + <structfield>write_bytes</structfield>, and + <structfield>extend_bytes</structfield>. The + <structfield>op_bytes</structfield> column, which always equaled + <link linkend="guc-block-size"><varname>BLCKSZ</varname></link>, + has been removed. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -879,31 +1023,38 @@ Author: Michael Paquier <michael@paquier.xyz> 2025-03-06 [7f7f324eb] Add more monitoring data for WAL writes in the WAL recei --> -<listitem> -<para> -Add <acronym>WAL</acronym> I/O activity rows to <structname>pg_stat_io</structname> (Nazir Bilal Yavuz, Bertrand Drouvot, Michael Paquier) -<ulink url="&commit_baseurl;a051e71e2">§</ulink> -<ulink url="&commit_baseurl;4538bd3f1">§</ulink> -<ulink url="&commit_baseurl;7f7f324eb">§</ulink> -</para> + <listitem> + <para> + Add <acronym>WAL</acronym> I/O activity rows to + <structname>pg_stat_io</structname> (Nazir Bilal Yavuz, Bertrand + Drouvot, Michael Paquier) + <ulink url="&commit_baseurl;a051e71e2">§</ulink> + <ulink url="&commit_baseurl;4538bd3f1">§</ulink> + <ulink url="&commit_baseurl;7f7f324eb">§</ulink> + </para> -<para> -This includes <acronym>WAL</acronym> receiver activity and a wait event for such writes. -</para> + <para> + This includes <acronym>WAL</acronym> receiver activity and a wait + event for such writes. + </para> -</listitem> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-02-26 [6c349d83b] Re-add GUC track_wal_io_timing --> -<listitem> -<para> -Change server variable <xref linkend="guc-track-wal-io-timing"/> to control tracking <acronym>WAL</acronym> timing in <structname>pg_stat_io</structname> instead of <link linkend="pg-stat-wal-view"><structname>pg_stat_wal</structname></link> (Bertrand Drouvot) -<ulink url="&commit_baseurl;6c349d83b">§</ulink> -</para> -</listitem> + <listitem> + <para> + Change server variable <xref linkend="guc-track-wal-io-timing"/> + to control tracking <acronym>WAL</acronym> timing + in <structname>pg_stat_io</structname> instead of <link + linkend="pg-stat-wal-view"><structname>pg_stat_wal</structname></link> + (Bertrand Drouvot) + <ulink url="&commit_baseurl;6c349d83b">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -912,93 +1063,118 @@ Author: Michael Paquier <michael@paquier.xyz> 2025-02-26 [6c349d83b] Re-add GUC track_wal_io_timing --> -<listitem> -<para> -Remove read/sync columns from <structname>pg_stat_wal</structname> (Bertrand Drouvot) -<ulink url="&commit_baseurl;2421e9a51">§</ulink> -<ulink url="&commit_baseurl;6c349d83b">§</ulink> -</para> + <listitem> + <para> + Remove read/sync columns from <structname>pg_stat_wal</structname> + (Bertrand Drouvot) + <ulink url="&commit_baseurl;2421e9a51">§</ulink> + <ulink url="&commit_baseurl;6c349d83b">§</ulink> + </para> -<para> -This removes columns <structfield>wal_write</structfield>, <structfield>wal_sync</structfield>, <structfield>wal_write_time</structfield>, and <structfield>wal_sync_time</structfield>. -</para> -</listitem> + <para> + This removes columns <structfield>wal_write</structfield>, + <structfield>wal_sync</structfield>, + <structfield>wal_write_time</structfield>, and + <structfield>wal_sync_time</structfield>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-03-11 [76def4cdd] Add WAL data to backend statistics --> -<listitem> -<para> -Add function <function>pg_stat_get_backend_wal()</function> to return per-backend <acronym>WAL</acronym> statistics (Bertrand Drouvot) -<ulink url="&commit_baseurl;76def4cdd">§</ulink> -</para> + <listitem> + <para> + Add function <link + linkend="pg-stat-get-backend-wal"><function>pg_stat_get_backend_wal()</function></link> + to return per-backend <acronym>WAL</acronym> statistics (Bertrand + Drouvot) + <ulink url="&commit_baseurl;76def4cdd">§</ulink> + </para> -<para> -Per-backend <acronym>WAL</acronym> statistics can be cleared via <function>pg_stat_reset_backend_stats()</function>. -</para> -</listitem> + <para> + Per-backend <acronym>WAL</acronym> + statistics can be cleared via <link + linkend="monitoring-stats-funcs-table"><function>pg_stat_reset_backend_stats()</function></link>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-10-11 [4e1fad378] Add pg_ls_summariesdir(). --> -<listitem> -<para> -Add function <function>pg_ls_summariesdir()</function> to specifically list the contents of <envar>PGDATA</envar>/<filename>pg_wal/summaries</filename> (Yushi Ogiwara) -<ulink url="&commit_baseurl;4e1fad378">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="functions-admin-genfile-table"><function>pg_ls_summariesdir()</function></link> + to specifically list the contents of <link + linkend="storage-file-layout"><envar>PGDATA</envar></link>/<link + linkend="guc-wal-summary-keep-time"><filename>pg_wal/summaries</filename></link> + (Yushi Ogiwara) + <ulink url="&commit_baseurl;4e1fad378">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-09-30 [559efce1d] Add num_done counter to the pg_stat_checkpointer view. --> -<listitem> -<para> -Add column <link linkend="monitoring-pg-stat-checkpointer-view"><structname>pg_stat_checkpointer</structname></link>.<structfield>num_done</structfield> to report the number of completed checkpoints (Anton A. Melnikov) -<ulink url="&commit_baseurl;559efce1d">§</ulink> -</para> + <listitem> + <para> + Add column <link + linkend="monitoring-pg-stat-checkpointer-view"><structname>pg_stat_checkpointer</structname></link>.<structfield>num_done</structfield> + to report the number of completed checkpoints (Anton A. Melnikov) + <ulink url="&commit_baseurl;559efce1d">§</ulink> + </para> -<para> -Columns <structfield>num_timed</structfield> and <structfield>num_requested</structfield> count both completed and skipped checkpoints. -</para> -</listitem> + <para> + Columns <structfield>num_timed</structfield> and + <structfield>num_requested</structfield> count both completed and + skipped checkpoints. + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-10-02 [17cc5f666] Fix inconsistent reporting of checkpointer stats. --> -<listitem> -<para> -Add column <structname>pg_stat_checkpointer</structname>.<structfield>slru_written</structfield> to report <acronym>SLRU</acronym> buffers written (Nitin Jadhav) -<ulink url="&commit_baseurl;17cc5f666">§</ulink> -</para> + <listitem> + <para> + Add column + <structname>pg_stat_checkpointer</structname>.<structfield>slru_written</structfield> + to report <acronym>SLRU</acronym> buffers written (Nitin Jadhav) + <ulink url="&commit_baseurl;17cc5f666">§</ulink> + </para> -<para> -Also, modify the checkpoint server log message to report separate shared buffer and <acronym>SLRU</acronym> buffer values. -</para> -</listitem> + <para> + Also, modify the checkpoint server log message to report separate + shared buffer and <acronym>SLRU</acronym> buffer values. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-11-11 [e7a9496de] Add two attributes to pg_stat_database for parallel work --> -<listitem> -<para> -Add columns to <link linkend="monitoring-pg-stat-database-view"><structname>pg_stat_database</structname></link> to report parallel workers activity (Benoit Lobréau) -<ulink url="&commit_baseurl;e7a9496de">§</ulink> -</para> + <listitem> + <para> + Add columns to <link + linkend="monitoring-pg-stat-database-view"><structname>pg_stat_database</structname></link> + to report parallel worker activity (Benoit Lobréau) + <ulink url="&commit_baseurl;e7a9496de">§</ulink> + </para> -<para> -The new columns are <structfield>parallel_workers_to_launch</structfield> and <structfield>parallel_workers_launched</structfield>. -</para> -</listitem> + <para> + The new columns are + <structfield>parallel_workers_to_launch</structfield> and + <structfield>parallel_workers_launched</structfield>. + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> @@ -1007,57 +1183,65 @@ Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2025-03-27 [9fbd53dea] Remove the query_id_squash_values GUC --> -<listitem> -<para> -Have query jumbling of arrays consider only the first and last array elements (Dmitry Dolgov, Sami Imseih) -<ulink url="&commit_baseurl;62d712ecf">§</ulink> -<ulink url="&commit_baseurl;9fbd53dea">§</ulink> -</para> + <listitem> + <para> + Have <link linkend="guc-compute-query-id">query id</link> computation + of arrays consider only the first and last array elements (Dmitry + Dolgov, Sami Imseih) + <ulink url="&commit_baseurl;62d712ecf">§</ulink> + <ulink url="&commit_baseurl;9fbd53dea">§</ulink> + </para> -<para> -Jumbling is used by <xref linkend="pgstatstatements"/>. -</para> -</listitem> + <para> + Jumbling is used by <xref linkend="pgstatstatements"/>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-03-26 [787514b30] Use relation name instead of OID in query jumbling for R --> -<listitem> -<para> -Adjust query jumbling to group together queries using the same relation name (Michael Paquier, Sami Imseih) -<ulink url="&commit_baseurl;787514b30">§</ulink> -</para> + <listitem> + <para> + Adjust query id computations to group together queries using the + same relation name (Michael Paquier, Sami Imseih) + <ulink url="&commit_baseurl;787514b30">§</ulink> + </para> -<para> -This is true even if the tables in different schemas have different column names. -</para> -</listitem> + <para> + This is true even if the tables in different schemas have different + column names. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-07-01 [12227a1d5] Add context type field to pg_backend_memory_contexts --> -<listitem> -<para> -Add column <link linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>type</structfield> to report the type of memory context (David Rowley) -<ulink url="&commit_baseurl;12227a1d5">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add column <link + linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link>.<structfield>type</structfield> + to report the type of memory context (David Rowley) + <ulink url="&commit_baseurl;12227a1d5">§</ulink> + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-07-25 [32d3ed816] Add path column to pg_backend_memory_contexts view --> -<listitem> -<para> -Add column <structname>pg_backend_memory_contexts</structname>.<structfield>path</structfield> to show memory context parents (Melih Mutlu) -<ulink url="&commit_baseurl;32d3ed816">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add column + <structname>pg_backend_memory_contexts</structname>.<structfield>path</structfield> + to show memory context parents (Melih Mutlu) + <ulink url="&commit_baseurl;32d3ed816">§</ulink> + </para> + </listitem> </itemizedlist> @@ -1075,53 +1259,61 @@ Author: Michael Paquier <michael@paquier.xyz> 2024-07-10 [d898665bf] Extend pg_get_acl() to handle sub-object IDs --> -<listitem> -<para> -Add function <function>pg_get_acl()</function> to retrieve database access control details (Joel Jacobson) -<ulink url="&commit_baseurl;4564f1ceb">§</ulink> -<ulink url="&commit_baseurl;d898665bf">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="functions-info-object-table"><function>pg_get_acl()</function></link> + to retrieve database access control details (Joel Jacobson) + <ulink url="&commit_baseurl;4564f1ceb">§</ulink> + <ulink url="&commit_baseurl;d898665bf">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-09-12 [4eada203a] Add has_largeobject_privilege function. --> -<listitem> -<para> -Add function <function>has_largeobject_privilege()</function> to check large object privileges (Yugo Nagata) -<ulink url="&commit_baseurl;4eada203a">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="functions-info-access-table"><function>has_largeobject_privilege()</function></link> + to check large object privileges (Yugo Nagata) + <ulink url="&commit_baseurl;4eada203a">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2025-04-04 [0d6c47766] Extend ALTER DEFAULT PRIVILEGES to define default privil --> -<listitem> -<para> -Allow <xref linkend="sql-alterdefaultprivileges"/> to define large object default privileges (Takatsuka Haruka, Yugo Nagata, Laurenz Albe) -<ulink url="&commit_baseurl;0d6c47766">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <xref linkend="sql-alterdefaultprivileges"/> to define + large object default privileges (Takatsuka Haruka, Yugo Nagata, + Laurenz Albe) + <ulink url="&commit_baseurl;0d6c47766">§</ulink> + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-07-09 [ccd38024b] Introduce pg_signal_autovacuum_worker. --> -<listitem> -<para> -Add predefined role <literal>pg_signal_autovacuum_worker</literal> (Kirill Reshke) -<ulink url="&commit_baseurl;ccd38024b">§</ulink> -</para> + <listitem> + <para> + Add predefined role <link + linkend="predefined-roles"><literal>pg_signal_autovacuum_worker</literal></link> + (Kirill Reshke) + <ulink url="&commit_baseurl;ccd38024b">§</ulink> + </para> -<para> -This allows sending signals to autovacuum workers. -</para> -</listitem> + <para> + This allows sending signals to autovacuum workers. + </para> + </listitem> </itemizedlist> @@ -1137,68 +1329,69 @@ Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2025-02-20 [b3f0be788] Add support for OAUTHBEARER SASL mechanism --> -<listitem> -<para> -Add support for the OAuth authentication method (Jacob Champion, Daniel Gustafsson, Thomas Munro) -<ulink url="&commit_baseurl;b3f0be788">§</ulink> -</para> + <listitem> + <para> + Add support for the <link linkend="auth-oauth">OAuth authentication + method</link> (Jacob Champion, Daniel Gustafsson, Thomas Munro) + <ulink url="&commit_baseurl;b3f0be788">§</ulink> + </para> -<para> -This adds an <literal>oauth</literal> authentication method to <filename>pg_hba.conf</filename>, libpq OAuth options, a server variable <xref linkend="guc-oauth-validator-libraries"/> to load token validation libraries, and -a configure flag <option>--with-libcurl</option> to add the required compile-time libraries. -</para> -</listitem> + <para> + This adds an <literal>oauth</literal> authentication method to <link + linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>, + libpq OAuth options, a server variable <xref + linkend="guc-oauth-validator-libraries"/> to load + token validation libraries, and a configure flag <link + linkend="configure-option-with-libcurl"><option>--with-libcurl</option></link> + to add the required compile-time libraries. + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2024-10-24 [45188c2ea] Support configuring TLSv1.3 cipher suites --> -<listitem> -<para> -Add server variable <xref linkend="guc-ssl-tls13-ciphers"/> to allow specification of multiple colon-separated TLSv1.3 cipher suites (Erica Zhang, Daniel Gustafsson) -<ulink url="&commit_baseurl;45188c2ea">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add server variable <xref linkend="guc-ssl-tls13-ciphers"/> to allow + specification of multiple colon-separated TLSv1.3 cipher suites + (Erica Zhang, Daniel Gustafsson) + <ulink url="&commit_baseurl;45188c2ea">§</ulink> + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2025-03-18 [daa02c6bd] Add X25519 to the default set of curves --> -<listitem> -<para> -Change server variable <xref linkend="guc-ssl-groups"/>'s default to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion) -<ulink url="&commit_baseurl;daa02c6bd">§</ulink> -</para> -</listitem> + <listitem> + <para> + Change server variable <xref linkend="guc-ssl-groups"/>'s default + to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion) + <ulink url="&commit_baseurl;daa02c6bd">§</ulink> + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2024-10-24 [3d1ef3a15] Support configuring multiple ECDH curves --> -<listitem> -<para> -Rename server variable <varname>ssl_ecdh_curve</varname> to <xref linkend="guc-ssl-groups"/> and allow multiple colon-separated <acronym>ECDH</acronym> curves to be specified (Erica Zhang, Daniel Gustafsson) -<ulink url="&commit_baseurl;3d1ef3a15">§</ulink> -</para> - -<para>The previous name still works. -</para> -</listitem> - -<!-- -Author: Daniel Gustafsson <dgustafsson@postgresql.org> -2025-01-24 [924d89a35] pgcrypto: Add function to check FIPS mode ---> + <listitem> + <para> + Rename server variable <varname>ssl_ecdh_curve</varname> to <xref + linkend="guc-ssl-groups"/> and allow multiple colon-separated + <acronym>ECDH</acronym> curves to be specified (Erica Zhang, + Daniel Gustafsson) + <ulink url="&commit_baseurl;3d1ef3a15">§</ulink> + </para> -<listitem> -<para> -Add function <function>pg_check_fipsmode()</function> to report the server's <acronym>FIPS</acronym> mode (Daniel Gustafsson) -<ulink url="&commit_baseurl;924d89a35">§</ulink> -</para> -</listitem> + <para> + The previous name still works. + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> @@ -1207,81 +1400,93 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-07-29 [9d9b9d46f] Move cancel key generation to after forking the backend --> -<listitem> -<para> -Make cancel request keys 256 bits (Heikki Linnakangas, Jelte Fennema-Nio) -<ulink url="&commit_baseurl;a460251f0">§</ulink> -<ulink url="&commit_baseurl;9d9b9d46f">§</ulink> -</para> + <listitem> + <para> + Make <link linkend="functions-admin-signal-table">cancel request + keys</link> 256 bits (Heikki Linnakangas, Jelte Fennema-Nio) + <ulink url="&commit_baseurl;a460251f0">§</ulink> + <ulink url="&commit_baseurl;9d9b9d46f">§</ulink> + </para> -<para> -This is only possible when the server and client support wire protocol version 3.2, introduced in this release. -</para> -</listitem> + <para> + This is only possible when the server and client support wire + protocol version 3.2, introduced in this release. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-01-06 [c758119e5] Allow changing autovacuum_max_workers without restarting --> -<listitem> -<para> -Add server variable <xref linkend="guc-autovacuum-worker-slots"/> to specify the maximum number of background workers (Nathan Bossart) -<ulink url="&commit_baseurl;c758119e5">§</ulink> -</para> + <listitem> + <para> + Add server variable <xref linkend="guc-autovacuum-worker-slots"/> + to specify the maximum number of background workers (Nathan Bossart) + <ulink url="&commit_baseurl;c758119e5">§</ulink> + </para> -<para> -With this variable set, <xref linkend="guc-autovacuum-max-workers"/> can be adjusted at runtime up to this maximum without a server restart. -</para> -</listitem> + <para> + With this variable set, <xref linkend="guc-autovacuum-max-workers"/> + can be adjusted at runtime up to this maximum without a server + restart. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-02-05 [306dc520b] Introduce autovacuum_vacuum_max_threshold. --> -<listitem> -<para> -Allow specification of the fixed number of dead tuples that will trigger an autovacuum (Nathan Bossart, Frédéric Yhuel) -<ulink url="&commit_baseurl;306dc520b">§</ulink> -</para> + <listitem> + <para> + Allow specification of the fixed number of dead tuples that will + trigger an <link linkend="autovacuum">autovacuum</link> (Nathan + Bossart, Frédéric Yhuel) + <ulink url="&commit_baseurl;306dc520b">§</ulink> + </para> -<para> -The server variable is <xref linkend="guc-autovacuum-vacuum-max-threshold"/>. Percentages are still used for triggering. -</para> -</listitem> + <para> + The server variable is <xref + linkend="guc-autovacuum-vacuum-max-threshold"/>. Percentages are + still used for triggering. + </para> + </listitem> <!-- Author: Andres Freund <andres@anarazel.de> 2025-03-24 [adb5f85fa] Redefine max_files_per_process to control additionally o --> -<listitem> -<para> -Change server variable <xref linkend="guc-max-files-per-process"/> to limit only files opened by a backend (Andres Freund) -<ulink url="&commit_baseurl;adb5f85fa">§</ulink> -</para> + <listitem> + <para> + Change server variable <xref linkend="guc-max-files-per-process"/> + to limit only files opened by a backend (Andres Freund) + <ulink url="&commit_baseurl;adb5f85fa">§</ulink> + </para> -<para> -Previously files opened by the postmaster were also counted toward this limit. -</para> -</listitem> + <para> + Previously files opened by the postmaster were also counted toward + this limit. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-07-26 [0dcaea569] Introduce num_os_semaphores GUC. --> -<listitem> -<para> -Add server variable <xref linkend="guc-num-os-semaphores"/> to report the required number of semaphores (Nathan Bossart) -<ulink url="&commit_baseurl;0dcaea569">§</ulink> -</para> + <listitem> + <para> + Add server variable <xref linkend="guc-num-os-semaphores"/> to + report the required number of semaphores (Nathan Bossart) + <ulink url="&commit_baseurl;0dcaea569">§</ulink> + </para> -<para> -This is useful for operating system configuration. -</para> -</listitem> + <para> + This is useful for operating system configuration. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -1290,15 +1495,17 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2025-05-02 [81eaaa2c4] Make "directory" setting work with extension_control_pat --> -<listitem> -<para> -Add server variable <xref linkend="guc-extension-control-path"/> to specify the location of extension control files (Peter Eisentraut, Matheus Alcantara) -<ulink url="&commit_baseurl;4f7f7b037">§</ulink> -<ulink url="&commit_baseurl;81eaaa2c4">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add server variable <xref linkend="guc-extension-control-path"/> to + specify the location of extension control files (Peter Eisentraut, + Matheus Alcantara) + <ulink url="&commit_baseurl;4f7f7b037">§</ulink> + <ulink url="&commit_baseurl;81eaaa2c4">§</ulink> + </para> + </listitem> - </itemizedlist> + </itemizedlist> </sect4> @@ -1312,28 +1519,34 @@ Author: Amit Kapila <akapila@postgresql.org> 2025-02-19 [ac0e33136] Invalidate inactive replication slots. --> -<listitem> -<para> -Allow inactive replication slots to be automatically invalided using server variable <xref linkend="guc-idle-replication-slot-timeout"/> (Nisha Moond, Bharath Rupireddy) -<ulink url="&commit_baseurl;ac0e33136">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow inactive replication slots to be automatically invalided using + server variable <xref linkend="guc-idle-replication-slot-timeout"/> + (Nisha Moond, Bharath Rupireddy) + <ulink url="&commit_baseurl;ac0e33136">§</ulink> + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2025-03-21 [04ff636cb] Add GUC option to control maximum active replication ori --> -<listitem> -<para> -Add server variable <xref linkend="guc-max-active-replication-origins"/> to control the maximum active replication origins (Euler Taveira) -<ulink url="&commit_baseurl;04ff636cb">§</ulink> -</para> + <listitem> + <para> + Add server variable <xref + linkend="guc-max-active-replication-origins"/> to control the + maximum active replication origins (Euler Taveira) + <ulink url="&commit_baseurl;04ff636cb">§</ulink> + </para> -<para> -This was previously controlled by <xref linkend="guc-max-replication-slots"/>, but this new setting allows a higher origin count in cases where fewer slots are required. -</para> -</listitem> + <para> + This was previously controlled by <xref + linkend="guc-max-replication-slots"/>, but this new setting allows + a higher origin count in cases where fewer slots are required. + </para> + </listitem> </itemizedlist> @@ -1355,33 +1568,44 @@ Author: Amit Kapila <akapila@postgresql.org> 2025-01-30 [6252b1eaf] Doc: Generated column replication. --> -<listitem> -<para> -Allow the values of generated columns to be logically replicated (Shubham Khanna, Vignesh C, Zhijie Hou, Shlok Kyal, Peter Smith) -<ulink url="&commit_baseurl;745217a05">§</ulink> -<ulink url="&commit_baseurl;7054186c4">§</ulink> -<ulink url="&commit_baseurl;87ce27de6">§</ulink> -<ulink url="&commit_baseurl;6252b1eaf">§</ulink> -</para> - -<para> -If the publication specifies a column list, all specified columns, generated and non-generated, are published. Without a specified column list, publication option <literal>publish_generated_columns</literal> -controls whether generated columns are published. Previously generated columns were not replicated and the subscriber had to compute the values if possible; this is particularly -useful for non-<productname>PostgreSQL</productname> subscribers which lack such a capability. -</para> -</listitem> + <listitem> + <para> + Allow the values of <link + linkend="sql-createtable-parms-generated-stored">generated + columns</link> to be logically replicated (Shubham Khanna, Vignesh C, + Zhijie Hou, Shlok Kyal, Peter Smith) + <ulink url="&commit_baseurl;745217a05">§</ulink> + <ulink url="&commit_baseurl;7054186c4">§</ulink> + <ulink url="&commit_baseurl;87ce27de6">§</ulink> + <ulink url="&commit_baseurl;6252b1eaf">§</ulink> + </para> + + <para> + If the publication specifies a column list, all specified + columns, generated and non-generated, are published. + Without a specified column list, publication option + <literal>publish_generated_columns</literal> controls whether + generated columns are published. Previously generated columns + were not replicated and the subscriber had to compute + the values if possible; this is particularly useful for + non-<productname>PostgreSQL</productname> subscribers which lack + such a capability. + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2024-10-28 [1bf1140be] Change the default value of the streaming option to 'par --> -<listitem> -<para> -Change the default <xref linkend="sql-createsubscription"/> streaming option from <literal>off</literal> to <literal>parallel</literal> (Vignesh C) -<ulink url="&commit_baseurl;1bf1140be">§</ulink> -</para> -</listitem> + <listitem> + <para> + Change the default <xref linkend="sql-createsubscription"/> streaming + option from <literal>off</literal> to <literal>parallel</literal> + (Vignesh C) + <ulink url="&commit_baseurl;1bf1140be">§</ulink> + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -1390,13 +1614,15 @@ Author: Amit Kapila <akapila@postgresql.org> 2025-04-03 [4868c96bc] Fix slot synchronization for two_phase enabled slots. --> -<listitem> -<para> -Allow <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION</command></link> to change the replication slot's two-phase commit behavior (Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou) -<ulink url="&commit_baseurl;1462aad2e">§</ulink> -<ulink url="&commit_baseurl;4868c96bc">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <xref linkend="sql-altersubscription"/> to change the + replication slot's two-phase commit behavior (Hayato Kuroda, Ajin + Cherian, Amit Kapila, Zhijie Hou) + <ulink url="&commit_baseurl;1462aad2e">§</ulink> + <ulink url="&commit_baseurl;4868c96bc">§</ulink> + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> @@ -1411,20 +1637,22 @@ Author: Amit Kapila <akapila@postgresql.org> 2025-03-24 [73eba5004] Detect and Log multiple_unique_conflicts type conflict. --> -<listitem> -<para> -Log conflicts while applying logical replication changes (Zhijie Hou, Nisha Moond) -<ulink url="&commit_baseurl;9758174e2">§</ulink> -<ulink url="&commit_baseurl;edcb71258">§</ulink> -<ulink url="&commit_baseurl;640178c92">§</ulink> -<ulink url="&commit_baseurl;6c2b5edec">§</ulink> -<ulink url="&commit_baseurl;73eba5004">§</ulink> -</para> + <listitem> + <para> + Log <link linkend="hot-standby-conflict">conflicts</link> while + applying logical replication changes (Zhijie Hou, Nisha Moond) + <ulink url="&commit_baseurl;9758174e2">§</ulink> + <ulink url="&commit_baseurl;edcb71258">§</ulink> + <ulink url="&commit_baseurl;640178c92">§</ulink> + <ulink url="&commit_baseurl;6c2b5edec">§</ulink> + <ulink url="&commit_baseurl;73eba5004">§</ulink> + </para> -<para> -Also report in new columns of <link linkend="monitoring-pg-stat-subscription-stats"><structname>pg_stat_subscription_stats</structname></link>. -</para> -</listitem> + <para> + Also report in new columns of <link + linkend="monitoring-pg-stat-subscription-stats"><structname>pg_stat_subscription_stats</structname></link>. + </para> + </listitem> </itemizedlist> @@ -1446,112 +1674,136 @@ Author: Richard Guo <rguo@postgresql.org> 2025-02-25 [1e4351af3] Expand virtual generated columns in the planner --> -<listitem> -<para> -Allow generated columns to be virtual, and make them the default (Peter Eisentraut, Jian He, Richard Guo, Dean Rasheed) -<ulink url="&commit_baseurl;83ea6c540">§</ulink> -<ulink url="&commit_baseurl;cdc168ad4">§</ulink> -<ulink url="&commit_baseurl;1e4351af3">§</ulink> -</para> + <listitem> + <para> + Allow <link linkend="sql-createtable-parms-generated-stored">generated + columns</link> to be virtual, and make them the default (Peter + Eisentraut, Jian He, Richard Guo, Dean Rasheed) + <ulink url="&commit_baseurl;83ea6c540">§</ulink> + <ulink url="&commit_baseurl;cdc168ad4">§</ulink> + <ulink url="&commit_baseurl;1e4351af3">§</ulink> + </para> -<para> -Virtual generated columns generate their values when the columns are read, not written. The write behavior can still be specified via the <literal>STORED</literal> option. -</para> -</listitem> + <para> + Virtual generated columns generate their values when the columns + are read, not written. The write behavior can still be specified + via the <literal>STORED</literal> option. + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2025-01-16 [80feb727c] Add OLD/NEW support to RETURNING in DML queries. --> -<listitem> -<para> -Add <literal>OLD</literal>/<literal>NEW</literal> support to <literal>RETURNING</literal> in <acronym>DML</acronym> queries (Dean Rasheed) -<ulink url="&commit_baseurl;80feb727c">§</ulink> -</para> + <listitem> + <para> + Add <literal>OLD</literal>/<literal>NEW</literal> support to <link + linkend="dml-returning"><literal>RETURNING</literal></link> in + <acronym>DML</acronym> queries (Dean Rasheed) + <ulink url="&commit_baseurl;80feb727c">§</ulink> + </para> -<para> -Previously <literal>RETURNING</literal> only returned new values for <xref linkend="sql-insert"/> and <xref linkend="sql-update"/>, and old values for <xref linkend="sql-delete"/>; <xref linkend="sql-merge"/> would return the appropriate value for the internal query executed. This new syntax -allows the <literal>RETURNING</literal> list of <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>/<command>MERGE</command> to explicitly return old and new values by using the special aliases <literal>old</literal> and <literal>new</literal>. These aliases can be renamed to -avoid identifier conflicts. -</para> -</listitem> + <para> + Previously <literal>RETURNING</literal> only returned new values for + <xref linkend="sql-insert"/> and <xref linkend="sql-update"/>, and old + values for <xref linkend="sql-delete"/>; <xref linkend="sql-merge"/> + would return the appropriate value for the internal query executed. + This new syntax allows the <literal>RETURNING</literal> list of + <command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>/<command>MERGE</command> + to explicitly return old and new values by using the special aliases + <literal>old</literal> and <literal>new</literal>. These aliases + can be renamed to avoid identifier conflicts. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-02-19 [302cf1575] Add support for LIKE in CREATE FOREIGN TABLE --> -<listitem> -<para> -Allow foreign tables to be created like existing local tables (Zhang Mingli) -<ulink url="&commit_baseurl;302cf1575">§</ulink> -</para> + <listitem> + <para> + Allow foreign tables to be created like existing local tables + (Zhang Mingli) + <ulink url="&commit_baseurl;302cf1575">§</ulink> + </para> -<para> -The syntax is <link linkend="sql-createforeigntable"><command>CREATE FOREIGN TABLE ... LIKE</command></link>. -</para> -</listitem> + <para> + The syntax is <link linkend="sql-createforeigntable"><command>CREATE + FOREIGN TABLE ... LIKE</command></link>. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-11-27 [85b7efa1c] Support LIKE with nondeterministic collations --> -<listitem> -<para> -Allow <literal>LIKE</literal> with nondeterministic collations (Peter Eisentraut) -<ulink url="&commit_baseurl;85b7efa1c">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <link linkend="functions-like"><literal>LIKE</literal></link> + with <link linkend="collation-nondeterministic">nondeterministic + collations</link> (Peter Eisentraut) + <ulink url="&commit_baseurl;85b7efa1c">§</ulink> + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2025-02-21 [329304c90] Support text position search functions with nondetermini --> -<listitem> -<para> -Allow text position search functions with nondeterministic collations (Peter Eisentraut) -<ulink url="&commit_baseurl;329304c90">§</ulink> -</para> + <listitem> + <para> + Allow text position search functions with nondeterministic collations + (Peter Eisentraut) + <ulink url="&commit_baseurl;329304c90">§</ulink> + </para> -<para> -These used to generate an error. -</para> -</listitem> + <para> + These used to generate an error. + </para> + </listitem> <!-- Author: Jeff Davis <jdavis@postgresql.org> 2025-01-17 [d3d098316] Support PG_UNICODE_FAST locale in the builtin collation --> -<listitem> -<para> -Add builtin collation provider <literal>PG_UNICODE_FAST</literal> (Jeff Davis) -<ulink url="&commit_baseurl;d3d098316">§</ulink> -</para> + <listitem> + <para> + Add builtin collation provider <link + linkend="locale-providers"><literal>PG_UNICODE_FAST</literal></link> + (Jeff Davis) + <ulink url="&commit_baseurl;d3d098316">§</ulink> + </para> -<para> -This locale supports case mapping, but sorts in code point order, not natural language order. -</para> -</listitem> + <para> + This locale supports case mapping, but sorts in code point order, + not natural language order. + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-09-24 [62ddf7ee9] Add ONLY support for VACUUM and ANALYZE --> -<listitem> -<para> -Allow <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> to process partitioned tables without processing their children (Michael Harris) -<ulink url="&commit_baseurl;62ddf7ee9">§</ulink> -</para> + <listitem> + <para> + Allow <xref linkend="sql-vacuum"/> and <xref linkend="sql-analyze"/> + to process partitioned tables without processing their children + (Michael Harris) + <ulink url="&commit_baseurl;62ddf7ee9">§</ulink> + </para> -<para> -This is enabled with the new <literal>ONLY</literal> option. This is useful since autovacuum does not process partitioned tables, just its children. -</para> -</listitem> + <para> + This is enabled with the new <literal>ONLY</literal> option. This is + useful since autovacuum does not process partitioned tables, just + its children. + </para> + </listitem> <!-- Author: Jeff Davis <jdavis@postgresql.org> @@ -1562,18 +1814,23 @@ Author: Jeff Davis <jdavis@postgresql.org> 2025-03-25 [650ab8aaf] Stats: use schemaname/relname instead of regclass. --> -<listitem> -<para> -Add functions to modify per-relation and per-column optimizer statistics (Corey Huinker) -<ulink url="&commit_baseurl;e839c8ecc">§</ulink> -<ulink url="&commit_baseurl;d32d14639">§</ulink> -<ulink url="&commit_baseurl;650ab8aaf">§</ulink> -</para> + <listitem> + <para> + Add functions to modify per-relation and per-column optimizer + statistics (Corey Huinker) + <ulink url="&commit_baseurl;e839c8ecc">§</ulink> + <ulink url="&commit_baseurl;d32d14639">§</ulink> + <ulink url="&commit_baseurl;650ab8aaf">§</ulink> + </para> -<para> -The functions are <function>pg_restore_relation_stats()</function>, <function>pg_restore_attribute_stats()</function>, <function>pg_clear_relation_stats()</function>, and <function>pg_clear_attribute_stats()</function>. -</para> -</listitem> + <para> + The functions are <link + linkend="functions-admin-statsmod"><function>pg_restore_relation_stats()</function></link>, + <function>pg_restore_attribute_stats()</function>, + <function>pg_clear_relation_stats()</function>, and + <function>pg_clear_attribute_stats()</function>. + </para> + </listitem> <!-- @@ -1581,39 +1838,49 @@ Author: Thomas Munro <tmunro@postgresql.org> 2025-04-08 [f78ca6f3e] Introduce file_copy_method setting. --> -<listitem> -<para> -Add server variable <xref linkend="guc-file-copy-method"/> to control the file copying method (Nazir Bilal Yavuz) -<ulink url="&commit_baseurl;f78ca6f3e">§</ulink> -</para> + <listitem> + <para> + Add server variable <xref linkend="guc-file-copy-method"/> to control + the file copying method (Nazir Bilal Yavuz) + <ulink url="&commit_baseurl;f78ca6f3e">§</ulink> + </para> -<para> -This controls whether <link linkend="sql-createdatabase"><command>CREATE DATABASE ... STRATEGY=FILE_COPY</command></link> and <link linkend="sql-alterdatabase"><command>ALTER DATABASE ... SET TABLESPACE</command></link> uses file copy or clone. -</para> -</listitem> + <para> + This controls whether <link + linkend="sql-createdatabase"><command>CREATE DATABASE + ... STRATEGY=FILE_COPY</command></link> and <link + linkend="sql-alterdatabase"><command>ALTER DATABASE ... SET + TABLESPACE</command></link> uses file copy or clone. + </para> + </listitem> </itemizedlist> <sect4 id="release-18-constraints"> <title><link linkend="ddl-constraints">Constraints</link></title> - <itemizedlist> + <itemizedlist> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-09-17 [fc0438b4e] Add temporal PRIMARY KEY and UNIQUE constraints --> -<listitem> -<para> -Allow the specification of non-overlapping <literal>PRIMARY KEY</literal> and <literal>UNIQUE</literal> constraints (Paul A. Jungwirth) -<ulink url="&commit_baseurl;fc0438b4e">§</ulink> -</para> + <listitem> + <para> + Allow the specification of non-overlapping <link + linkend="sql-createtable-parms-primary-key"><literal>PRIMARY + KEY</literal></link> and <link + linkend="sql-createtable-parms-unique"><literal>UNIQUE</literal></link> + constraints (Paul A. Jungwirth) + <ulink url="&commit_baseurl;fc0438b4e">§</ulink> + </para> -<para> -This is specified by <literal>WITHOUT OVERLAPS</literal> on the last column. -</para> -</listitem> + <para> + This is specified by <literal>WITHOUT OVERLAPS</literal> on the + last specified column. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -1622,60 +1889,80 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2025-04-02 [eec0040c4] Add support for NOT ENFORCED in foreign key constraints --> -<listitem> -<para> -Allow <literal>CHECK</literal> and foreign key constraints to be specified as <literal>NOT ENFORCED</literal> (Amul Sul) -<ulink url="&commit_baseurl;ca87c415e">§</ulink> -<ulink url="&commit_baseurl;eec0040c4">§</ulink> -</para> + <listitem> + <para> + Allow <link + linkend="sql-createtable-parms-check"><literal>CHECK</literal></link> + and <link linkend="sql-createtable-parms-references">foreign + key</link> constraints to be specified as <literal>NOT + ENFORCED</literal> (Amul Sul) + <ulink url="&commit_baseurl;ca87c415e">§</ulink> + <ulink url="&commit_baseurl;eec0040c4">§</ulink> + </para> -<para> -This also adds column <link linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>conenforced</structfield>.</para> -</listitem> + <para> + This also adds column <link + linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>conenforced</structfield>. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-11-15 [9321d2fdf] Fix collation handling for foreign keys --> -<listitem> -<para> -Require primary/foreign key relationships to use either deterministic collations or the the same nondeterministic collations (Peter Eisentraut) -<ulink url="&commit_baseurl;9321d2fdf">§</ulink> -</para> + <listitem> + <para> + Require <link + linkend="sql-createtable-parms-references">primary/foreign key</link> + relationships to use either deterministic collations or the the + same nondeterministic collations (Peter Eisentraut) + <ulink url="&commit_baseurl;9321d2fdf">§</ulink> + </para> -<para> -The restore of a <xref linkend="app-pgdump"/>, also used by <xref linkend="pgupgrade"/>, will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed. -</para> -</listitem> + <para> + The restore of a <xref linkend="app-pgdump"/>, also used by <xref + linkend="pgupgrade"/>, will fail if these requirements are not met; + schema changes must be made for these upgrade methods to succeed. + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2024-11-08 [14e87ffa5] Add pg_constraint rows for not-null constraints --> -<listitem> -<para> -Store column <literal>NOT NULL</literal> specifications in <structname>pg_constraint</structname> (Álvaro Herrera, Bernd Helmle) -<ulink url="&commit_baseurl;14e87ffa5">§</ulink> -</para> + <listitem> + <para> + Store column <link + linkend="sql-createtable-parms-not-null"><literal>NOT + NULL</literal></link> specifications in <link + linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link> + (Álvaro Herrera, Bernd Helmle) + <ulink url="&commit_baseurl;14e87ffa5">§</ulink> + </para> -<para> -This allows names to be specified for <literal>NOT NULL</literal> constraint. This also adds <literal>NOT NULL</literal> constraints to foreign tables and <literal>NOT NULL</literal> inheritance control to local tables. -</para> -</listitem> + <para> + This allows names to be specified for <literal>NOT NULL</literal> + constraint. This also adds <literal>NOT NULL</literal> constraints + to foreign tables and <literal>NOT NULL</literal> inheritance + control to local tables. + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2025-04-07 [a379061a2] Allow NOT NULL constraints to be added as NOT VALID --> -<listitem> -<para> -Allow <xref linkend="sql-altertable"/> to set the <literal>NOT VALID</literal> attribute of <literal>NOT NULL</literal> constraints (Rushabh Lathia, Jian He) -<ulink url="&commit_baseurl;a379061a2">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <xref linkend="sql-altertable"/> to set the <literal>NOT + VALID</literal> attribute of <literal>NOT NULL</literal> constraints + (Rushabh Lathia, Jian He) + <ulink url="&commit_baseurl;a379061a2">§</ulink> + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> @@ -1684,113 +1971,126 @@ Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2025-03-27 [4a02af8b1] Simplify syntax for ALTER TABLE ALTER CONSTRAINT NO INHE --> -<listitem> -<para> -Allow modification of the inheritability of <literal>NOT NULL</literal> constraints (Suraj Kharage, Álvaro Herrera) -<ulink url="&commit_baseurl;f4e53e10b">§</ulink> -<ulink url="&commit_baseurl;4a02af8b1">§</ulink> -</para> + <listitem> + <para> + Allow modification of the inheritability of <literal>NOT + NULL</literal> constraints (Suraj Kharage, Álvaro Herrera) + <ulink url="&commit_baseurl;f4e53e10b">§</ulink> + <ulink url="&commit_baseurl;4a02af8b1">§</ulink> + </para> -<para> -The syntax is <link linkend="sql-altertable"><command>ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT</command></link>. -</para> -</listitem> + <para> + The syntax is <link linkend="sql-altertable"><command>ALTER TABLE + ... ALTER CONSTRAINT ... [NO] INHERIT</command></link>. + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2025-01-23 [b663b9436] Allow NOT VALID foreign key constraints on partitioned t --> -<listitem> -<para> -Allow <literal>NOT VALID</literal> foreign key constraints on partitioned tables (Amul Sul) -<ulink url="&commit_baseurl;b663b9436">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <literal>NOT VALID</literal> foreign key constraints on + partitioned tables (Amul Sul) + <ulink url="&commit_baseurl;b663b9436">§</ulink> + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2024-09-30 [4dea33ce7] Don't disallow DROP of constraints ONLY on partitioned t --> -<listitem> -<para> -Allow dropping of constraints <literal>ONLY</literal> on partitioned tables (Álvaro Herrera) -<ulink url="&commit_baseurl;4dea33ce7">§</ulink> -</para> + <listitem> + <para> + Allow <link + linkend="sql-altertable-desc-drop-constraint">dropping</link> + of constraints <literal>ONLY</literal> on partitioned tables + (Álvaro Herrera) + <ulink url="&commit_baseurl;4dea33ce7">§</ulink> + </para> -<para> -This was previously erroneously prohibited. -</para> -</listitem> + <para> + This was previously erroneously prohibited. + </para> + </listitem> - </itemizedlist> + </itemizedlist> </sect4> <sect4 id="release-18-copy"> <title><xref linkend="sql-copy"/></title> - <itemizedlist> + <itemizedlist> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-10-08 [4ac2a9bec] Add REJECT_LIMIT option to the COPY command. --> -<listitem> -<para> -Add <literal>REJECT_LIMIT</literal> to control the number of invalid rows <command>COPY FROM</command> can ignore (Atsushi Torikoshi) -<ulink url="&commit_baseurl;4ac2a9bec">§</ulink> -</para> + <listitem> + <para> + Add <literal>REJECT_LIMIT</literal> to control the number of invalid + rows <command>COPY FROM</command> can ignore (Atsushi Torikoshi) + <ulink url="&commit_baseurl;4ac2a9bec">§</ulink> + </para> -<para> -This is available when <literal>ON_ERROR = 'ignore'</literal>. -</para> -</listitem> + <para> + This is available when <literal>ON_ERROR = 'ignore'</literal>. + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2025-04-04 [534874fac] Allow "COPY table TO" command to copy rows from material --> -<listitem> -<para> -Allow <command>COPY TO</command> to copy rows from populated materialized views (Jian He) -<ulink url="&commit_baseurl;534874fac">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <command>COPY TO</command> to copy rows from populated + materialized views (Jian He) + <ulink url="&commit_baseurl;534874fac">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-10-03 [e7834a1a2] Add LOG_VERBOSITY = 'silent' support to COPY command. --> -<listitem> -<para> -Add <command>COPY</command> <literal>LOG_VERBOSITY</literal> level <literal>silent</literal> to suppress log output of ignored rows (Atsushi Torikoshi) -<ulink url="&commit_baseurl;e7834a1a2">§</ulink> -</para> + <listitem> + <para> + Add <command>COPY</command> <literal>LOG_VERBOSITY</literal> level + <literal>silent</literal> to suppress log output of ignored rows + (Atsushi Torikoshi) + <ulink url="&commit_baseurl;e7834a1a2">§</ulink> + </para> -<para> -This new level suppresses output for discarded input rows when <literal>on_error = 'ignore'</literal>. -</para> -</listitem> + <para> + This new level suppresses output for discarded input rows when + <literal>on_error = 'ignore'</literal>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-02-06 [401a6956f] Disallow COPY FREEZE on foreign tables. --> -<listitem> -<para> -Disallow <command>COPY FREEZE</command> on foreign tables (Nathan Bossart) -<ulink url="&commit_baseurl;401a6956f">§</ulink> -</para> + <listitem> + <para> + Disallow <command>COPY FREEZE</command> on foreign tables (Nathan + Bossart) + <ulink url="&commit_baseurl;401a6956f">§</ulink> + </para> -<para> -Previously, the <command>COPY</command> worked but the <literal>FREEZE</literal> was ignored, so disallow this command. -</para> -</listitem> + <para> + Previously, the <command>COPY</command> worked but the + <literal>FREEZE</literal> was ignored, so disallow this command. + </para> + </listitem> </itemizedlist> </sect4> @@ -1805,36 +2105,39 @@ Author: David Rowley <drowley@postgresql.org> 2024-12-11 [c2a4078eb] Enable BUFFERS with EXPLAIN ANALYZE by default --> -<listitem> -<para> -Automatically include <literal>BUFFERS</literal> output in <command>EXPLAIN ANALYZE</command> (Guillaume Lelarge, David Rowley) -<ulink url="&commit_baseurl;c2a4078eb">§</ulink> -</para> -</listitem> + <listitem> + <para> + Automatically include <literal>BUFFERS</literal> output in + <command>EXPLAIN ANALYZE</command> (Guillaume Lelarge, David Rowley) + <ulink url="&commit_baseurl;c2a4078eb">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-02-17 [320545bfc] Add information about WAL buffers being full to EXPLAIN --> -<listitem> -<para> -Add full <acronym>WAL</acronym> buffer count to <command>EXPLAIN (WAL)</command> output (Bertrand Drouvot) -<ulink url="&commit_baseurl;320545bfc">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add full <acronym>WAL</acronym> buffer count to <command>EXPLAIN + (WAL)</command> output (Bertrand Drouvot) + <ulink url="&commit_baseurl;320545bfc">§</ulink> + </para> + </listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2025-03-11 [0fbceae84] Show index search count in EXPLAIN ANALYZE, take 2. --> -<listitem> -<para> -In <command>EXPLAIN ANALYZE</command>, report the number of index lookups used per index scan node (Peter Geoghegan) -<ulink url="&commit_baseurl;0fbceae84">§</ulink> -</para> -</listitem> + <listitem> + <para> + In <command>EXPLAIN ANALYZE</command>, report the number of index + lookups used per index scan node (Peter Geoghegan) + <ulink url="&commit_baseurl;0fbceae84">§</ulink> + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> @@ -1843,13 +2146,14 @@ Author: Robert Haas <rhaas@postgresql.org> 2025-02-27 [95dbd827f] EXPLAIN: Always use two fractional digits for row counts --> -<listitem> -<para> -Modify <command>EXPLAIN</command> to output fractional row counts (Ibrar Ahmed, Ilia Evdokimov, Robert Haas) -<ulink url="&commit_baseurl;ddb17e387">§</ulink> -<ulink url="&commit_baseurl;95dbd827f">§</ulink> -</para> -</listitem> + <listitem> + <para> + Modify <command>EXPLAIN</command> to output fractional row counts + (Ibrar Ahmed, Ilia Evdokimov, Robert Haas) + <ulink url="&commit_baseurl;ddb17e387">§</ulink> + <ulink url="&commit_baseurl;95dbd827f">§</ulink> + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> @@ -1862,16 +2166,18 @@ Author: Tatsuo Ishii <ishii@postgresql.org> 2024-09-23 [40708acd6] Add memory/disk usage for more executor nodes. --> -<listitem> -<para> -Add memory and disk usage details to <literal>Material</literal>, <literal>Window Aggregate</literal>, and common table expression nodes to <command>EXPLAIN</command> -output (David Rowley, Tatsuo Ishii) -<ulink url="&commit_baseurl;1eff8279d">§</ulink> -<ulink url="&commit_baseurl;53abb1e0e">§</ulink> -<ulink url="&commit_baseurl;95d6e9af0">§</ulink> -<ulink url="&commit_baseurl;40708acd6">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add memory and disk usage details to <literal>Material</literal>, + <literal>Window Aggregate</literal>, and common table expression + nodes to <command>EXPLAIN</command> output (David Rowley, Tatsuo + Ishii) + <ulink url="&commit_baseurl;1eff8279d">§</ulink> + <ulink url="&commit_baseurl;53abb1e0e">§</ulink> + <ulink url="&commit_baseurl;95d6e9af0">§</ulink> + <ulink url="&commit_baseurl;40708acd6">§</ulink> + </para> + </listitem> <!-- @@ -1879,24 +2185,27 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-03-11 [8b1b34254] Improve EXPLAIN's display of window functions. --> -<listitem> -<para> -Add details about window function arguments to <command>EXPLAIN</command> output (Tom Lane) -<ulink url="&commit_baseurl;8b1b34254">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add details about window function arguments to + <command>EXPLAIN</command> output (Tom Lane) + <ulink url="&commit_baseurl;8b1b34254">§</ulink> + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-07-09 [5a1e6df3b] Show Parallel Bitmap Heap Scan worker stats in EXPLAIN A --> -<listitem> -<para> -Add <literal>Parallel Bitmap Heap Scan</literal> worker cache statistics to <command>EXPLAIN ANALYZE</command> (David Geier, Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley) -<ulink url="&commit_baseurl;5a1e6df3b">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <literal>Parallel Bitmap Heap Scan</literal> worker cache + statistics to <command>EXPLAIN ANALYZE</command> (David Geier, + Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley) + <ulink url="&commit_baseurl;5a1e6df3b">§</ulink> + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> @@ -1907,14 +2216,15 @@ Author: David Rowley <drowley@postgresql.org> 2024-10-29 [84b8fccbe] Doc: add detail about EXPLAIN's "Disabled" property --> -<listitem> -<para> -Indicate disabled nodes in <command>EXPLAIN ANALYZE</command> output (Robert Haas, David Rowley, Laurenz Albe) -<ulink url="&commit_baseurl;c01743aa4">§</ulink> -<ulink url="&commit_baseurl;161320b4b">§</ulink> -<ulink url="&commit_baseurl;84b8fccbe">§</ulink> -</para> -</listitem> + <listitem> + <para> + Indicate disabled nodes in <command>EXPLAIN ANALYZE</command> output + (Robert Haas, David Rowley, Laurenz Albe) + <ulink url="&commit_baseurl;c01743aa4">§</ulink> + <ulink url="&commit_baseurl;161320b4b">§</ulink> + <ulink url="&commit_baseurl;84b8fccbe">§</ulink> + </para> + </listitem> </itemizedlist> @@ -1934,137 +2244,159 @@ Author: Jeff Davis <jdavis@postgresql.org> 2025-01-17 [286a365b9] Support Unicode full case mapping and conversion. --> -<listitem> -<para> -Improve Unicode full case mapping and conversion (Jeff Davis) -<ulink url="&commit_baseurl;4e7f62bc3">§</ulink> -<ulink url="&commit_baseurl;286a365b9">§</ulink> -</para> + <listitem> + <para> + Improve <link linkend="collation-managing-standard">Unicode</link> + full case mapping and conversion (Jeff Davis) + <ulink url="&commit_baseurl;4e7f62bc3">§</ulink> + <ulink url="&commit_baseurl;286a365b9">§</ulink> + </para> -<para> -This adds the ability to do conditional and title case mapping, and case map single characters to multiple characters. -</para> -</listitem> + <para> + This adds the ability to do conditional and title case mapping, + and case map single characters to multiple characters. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-01-24 [a5579a90a] Make jsonb casts to scalar types translate JSON null to --> -<listitem> -<para> -Allow <type>jsonb</type> <literal>null</literal> values to be cast to scalar types as <literal>NULL</literal> (Tom Lane) -<ulink url="&commit_baseurl;a5579a90a">§</ulink> -</para> + <listitem> + <para> + Allow <link linkend="datatype-json"><type>jsonb</type></link> + <literal>null</literal> values to be cast to scalar types as + <literal>NULL</literal> (Tom Lane) + <ulink url="&commit_baseurl;a5579a90a">§</ulink> + </para> -<para> -Previously such casts generated an error. -</para> -</listitem> + <para> + Previously such casts generated an error. + </para> + </listitem> <!-- Author: Andrew Dunstan <andrew@dunslane.net> -2025-03-05 [4603903d2] Allow <function>json{b}_strip_nulls()</function> to remove <literal>null</literal> array elements +2025-03-05 [4603903d2] Allow json{b}_strip_nulls() to remove null array elements --> -<listitem> -<para> -Add optional parameter to json{b}_strip_nulls to allow removal of null array elements (Florents Tselai) -<ulink url="&commit_baseurl;4603903d2">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add optional parameter to <link + linkend="functions-json-processing-table"><function>json{b}_strip_nulls</function></link> + to allow removal of null array elements (Florents Tselai) + <ulink url="&commit_baseurl;4603903d2">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-04-01 [6c12ae09f] Introduce a SQL-callable function array_sort(anyarray). --> -<listitem> -<para> -Add function <function>array_sort()</function> which sorts an array's first dimension (Junwang Zhao, Jian He) -<ulink url="&commit_baseurl;6c12ae09f">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="array-functions-table"><function>array_sort()</function></link> + which sorts an array's first dimension (Junwang Zhao, Jian He) + <ulink url="&commit_baseurl;6c12ae09f">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-11-01 [49d6c7d8d] Add SQL function array_reverse() --> -<listitem> -<para> -Add function <function>array_reverse()</function> which reverses an array's first dimension (Aleksander Alekseev) -<ulink url="&commit_baseurl;49d6c7d8d">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="array-functions-table"><function>array_reverse()</function></link> + which reverses an array's first dimension (Aleksander Alekseev) + <ulink url="&commit_baseurl;49d6c7d8d">§</ulink> + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-03-13 [0697b2390] Add reverse(bytea). --> -<listitem> -<para> -Add function <function>reverse()</function> to reverse bytea bytes (Aleksander Alekseev) -<ulink url="&commit_baseurl;0697b2390">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="functions-string-other"><function>reverse()</function></link> + to reverse bytea bytes (Aleksander Alekseev) + <ulink url="&commit_baseurl;0697b2390">§</ulink> + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2025-03-07 [6da469bad] Allow casting between bytea and integer types. --> -<listitem> -<para> -Allow casting between integer types and <type>bytea</type> (Aleksander Alekseev) -<ulink url="&commit_baseurl;6da469bad">§</ulink> -</para> + <listitem> + <para> + Allow casting between integer types and <link + linkend="datatype-binary"><type>bytea</type></link> (Aleksander + Alekseev) + <ulink url="&commit_baseurl;6da469bad">§</ulink> + </para> -<para> -The integer values are stored as <type>bytea</type> two's complement values. -</para> -</listitem> + <para> + The integer values are stored as <type>bytea</type> two's complement + values. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2025-04-03 [82a46cca9] Update Unicode data to Unicode 16.0.0 --> -<listitem> -<para> -Update Unicode data to Unicode 16.0.0 (Peter Eisentraut) -<ulink url="&commit_baseurl;82a46cca9">§</ulink> -</para> -</listitem> + <listitem> + <para> + Update Unicode data to <link + linkend="collation-managing-standard">Unicode</link> 16.0.0 (Peter + Eisentraut) + <ulink url="&commit_baseurl;82a46cca9">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-02-18 [b464e51ab] Update to latest Snowball sources. --> -<listitem> -<para> -Add full text search stemming for Estonian (Tom Lane) -<ulink url="&commit_baseurl;b464e51ab">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add full text search <link + linkend="textsearch-snowball-dictionary">stemming</link> for Estonian + (Tom Lane) + <ulink url="&commit_baseurl;b464e51ab">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-09-24 [cd838e200] Neaten up our choices of SQLSTATEs for XML-related error --> -<listitem> -<para> -Improve the <type>XML</type> error codes to more closely match the <acronym>SQL</acronym> standard (Tom Lane) -<ulink url="&commit_baseurl;cd838e200">§</ulink> -</para> + <listitem> + <para> + Improve the <link linkend="datatype-xml"><type>XML</type></link> + error codes to more closely match the <acronym>SQL</acronym> standard + (Tom Lane) + <ulink url="&commit_baseurl;cd838e200">§</ulink> + </para> -<para> -These errors are reported via <literal>SQLSTATE</literal>. -</para> -</listitem> + <para> + These errors are reported via <link + linkend="errcodes-appendix"><literal>SQLSTATE</literal></link>. + </para> + </listitem> </itemizedlist> @@ -2080,16 +2412,20 @@ Author: Jeff Davis <jdavis@postgresql.org> 2025-01-24 [bfc599206] Add SQL function CASEFOLD(). --> -<listitem> -<para> -Add function <function>CASEFOLD()</function> to allow for more sophisticated case-insensitive matching (Jeff Davis) -<ulink url="&commit_baseurl;bfc599206">§</ulink> -</para> + <listitem> + <para> + Add function <link + linkend="functions-string-other"><function>casefold()</function></link> + to allow for more sophisticated case-insensitive matching (Jeff Davis) + <ulink url="&commit_baseurl;bfc599206">§</ulink> + </para> -<para> -This allows more accurate comparisons, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters. -</para> -</listitem> + <para> + This allows more accurate comparisons, i.e., a character can have + multiple upper or lower case equivalents, or upper or lower case + conversion changes the number of characters. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> @@ -2098,121 +2434,154 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-10-08 [2d24fd942] Add min and max aggregates for bytea type. --> -<listitem> -<para> -Allow <function>MIN()</function>/<function>MAX()</function> aggregates on arrays and composite types (Aleksander Alekseev, Marat Buharov) -<ulink url="&commit_baseurl;a0f1fce80">§</ulink> -<ulink url="&commit_baseurl;2d24fd942">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <link + linkend="functions-aggregate-table"><function>MIN()</function></link>/<link + linkend="functions-aggregate-table"><function>MAX()</function></link> + aggregates on arrays and composite types (Aleksander Alekseev, + Marat Buharov) + <ulink url="&commit_baseurl;a0f1fce80">§</ulink> + <ulink url="&commit_baseurl;2d24fd942">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-08-16 [6be39d77a] Fix extraction of week and quarter fields from intervals --> -<listitem> -<para> -Add a <literal>WEEK</literal> option to <function>EXTRACT()</function> (Tom Lane) -<ulink url="&commit_baseurl;6be39d77a">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add a <literal>WEEK</literal> option to <link + linkend="functions-datetime-extract"><function>EXTRACT()</function></link> + (Tom Lane) + <ulink url="&commit_baseurl;6be39d77a">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-08-16 [6be39d77a] Fix extraction of week and quarter fields from intervals --> -<listitem> -<para> -Improve the output <literal>EXTRACT(QUARTER ...)</literal> for negative values (Tom Lane) -<ulink url="&commit_baseurl;6be39d77a">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve the output <literal>EXTRACT(QUARTER ...)</literal> for + negative values (Tom Lane) + <ulink url="&commit_baseurl;6be39d77a">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-01-22 [172e6b3ad] Support RN (roman-numeral format) in to_number(). --> -<listitem> -<para> -Add roman numeral support to <function>to_number()</function> (Hunaid Sohail) -<ulink url="&commit_baseurl;172e6b3ad">§</ulink> -</para> + <listitem> + <para> + Add roman numeral support to <link + linkend="functions-formatting-table"><function>to_number()</function></link> + (Hunaid Sohail) + <ulink url="&commit_baseurl;172e6b3ad">§</ulink> + </para> -<para> -This is accessed via the <literal>RN</literal> pattern. -</para> -</listitem> + <para> + This is accessed via the <literal>RN</literal> pattern. + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2024-12-11 [78c5e141e] Add UUID version 7 generation function. --> -<listitem> -<para> -Add <type>UUID</type> version 7 generation function <function>uuidv7()</function> (Andrey Borodin) -<ulink url="&commit_baseurl;78c5e141e">§</ulink> -</para> + <listitem> + <para> + Add <link linkend="datatype-uuid"><type>UUID</type></link> + version 7 generation function <link + linkend="func_uuid_gen_table"><function>uuidv7()</function></link> + (Andrey Borodin) + <ulink url="&commit_baseurl;78c5e141e">§</ulink> + </para> -<para> -This <type>UUID</type> value is temporally sortable. Function alias <function>uuidv4()</function> has been added to explicitly generate version 4 UUIDs. -</para> -</listitem> + <para> + This <type>UUID</type> value is + temporally sortable. Function alias <link + linkend="func_uuid_gen_table"><function>uuidv4()</function></link> + has been added to explicitly generate version 4 UUIDs. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-08-12 [760162fed] Add user-callable CRC functions. --> -<listitem> -<para> -Add functions <function>crc32()</function> and <function>crc32c()</function> to compute <acronym>CRC</acronym> values (Aleksander Alekseev) -<ulink url="&commit_baseurl;760162fed">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add functions <link + linkend="functions-binarystring-other"><function>crc32()</function></link> + and <link + linkend="functions-binarystring-other"><function>crc32c()</function></link> + to compute <acronym>CRC</acronym> values (Aleksander Alekseev) + <ulink url="&commit_baseurl;760162fed">§</ulink> + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2025-03-26 [a3b6dfd41] Add support for gamma() and lgamma() functions. --> -<listitem> -<para> -Add math functions <function>gamma()</function> and <function>lgamma()</function> (Dean Rasheed) -<ulink url="&commit_baseurl;a3b6dfd41">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add math functions <link + linkend="functions-math-func-table"><function>gamma()</function></link> + and <link + linkend="functions-math-func-table"><function>lgamma()</function></link> + (Dean Rasheed) + <ulink url="&commit_baseurl;a3b6dfd41">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-03-03 [246dedc5d] Allow => syntax for named cursor arguments in plpgsql. --> -<listitem> -<para> -Allow <literal>=></literal> syntax for named cursor arguments in plpgsql (Pavel Stehule) -<ulink url="&commit_baseurl;246dedc5d">§</ulink> -</para> + <listitem> + <para> + Allow <literal>=></literal> syntax for named cursor arguments in + <link linkend="plpgsql">PL/pgSQL</link> (Pavel Stehule) + <ulink url="&commit_baseurl;246dedc5d">§</ulink> + </para> -<para> -We previously only accepted <literal>:=</literal>. -</para> -</listitem> + <para> + We previously only accepted <literal>:=</literal>. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-07-25 [580f8727c] Add argument names to the regexp_XXX functions. --> -<listitem> -<para> -Allow <function>regexp_match[es]()</function>/<function>regexp_like()</function>/<function>regexp_replace()</function>/<function>regexp_count()</function>/<function>regexp_instr()</function>/<function>regexp_substr()</function>/<function>regexp_split_to_table()</function>/<function>regexp_split_to_array()</function> to use named arguments (Jian He) -<ulink url="&commit_baseurl;580f8727c">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <link + linkend="functions-posix-regexp"><function>regexp_match[es]()</function></link>/<link + linkend="functions-posix-regexp"><function>regexp_like()</function></link>/<link + linkend="functions-posix-regexp"><function>regexp_replace()</function></link>/<link + linkend="functions-posix-regexp"><function>regexp_count()</function></link>/<link + linkend="functions-posix-regexp"><function>regexp_instr()</function></link>/<link + linkend="functions-posix-regexp"><function>regexp_substr()</function></link>/<link + linkend="functions-posix-regexp"><function>regexp_split_to_table()</function></link>/<link + linkend="functions-posix-regexp"><function>regexp_split_to_array()</function></link> + to use named arguments (Jian He) + <ulink url="&commit_baseurl;580f8727c">§</ulink> + </para> + </listitem> </itemizedlist> @@ -2228,12 +2597,15 @@ Author: Robert Haas <rhaas@postgresql.org> 2024-09-09 [cdb6b0fdb] Add PQfullProtocolVersion() to surface the precise proto --> -<listitem> -<para> -Add function <function>PQfullProtocolVersion()</function> to report the full, including minor, protocol version number (Jacob Champion, Jelte Fennema-Nio) -<ulink url="&commit_baseurl;cdb6b0fdb">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function <link + linkend="libpq-PQfullProtocolVersion"><function>PQfullProtocolVersion()</function></link> + to report the full, including minor, protocol version number (Jacob + Champion, Jelte Fennema-Nio) + <ulink url="&commit_baseurl;cdb6b0fdb">§</ulink> + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> @@ -2242,25 +2614,31 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2025-04-02 [507034910] libpq: Handle NegotiateProtocolVersion message different --> -<listitem> -<para> -Add libpq connection parameters and environment variables to specify the minimum and maximum acceptable protocol version for connections (Jelte Fennema-Nio) -<ulink url="&commit_baseurl;285613c60">§</ulink> -<ulink url="&commit_baseurl;507034910">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add libpq connection <link + linkend="libpq-connect-ssl-max-protocol-version">parameters</link> + and <link linkend="libpq-envars">environment variables</link> to + specify the minimum and maximum acceptable protocol version for + connections (Jelte Fennema-Nio) + <ulink url="&commit_baseurl;285613c60">§</ulink> + <ulink url="&commit_baseurl;507034910">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-12-18 [4b99fed75] libpq: Add service name to PGconn and PQservice() --> -<listitem> -<para> -Add libpq function <function>PQservice()</function> to return the connection service name (Michael Banck) -<ulink url="&commit_baseurl;4b99fed75">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add libpq function <link + linkend="libpq-PQservice"><function>PQservice()</function></link> + to return the connection service name (Michael Banck) + <ulink url="&commit_baseurl;4b99fed75">§</ulink> + </para> + </listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> @@ -2269,13 +2647,14 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> 2024-08-19 [0d06a7eac] Document that search_path is reported by the server --> -<listitem> -<para> -Report <xref linkend="guc-search-path"/> changes to the client (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra) -<ulink url="&commit_baseurl;28a1121fd">§</ulink> -<ulink url="&commit_baseurl;0d06a7eac">§</ulink> -</para> -</listitem> + <listitem> + <para> + Report <xref linkend="guc-search-path"/> changes to the client + (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra) + <ulink url="&commit_baseurl;28a1121fd">§</ulink> + <ulink url="&commit_baseurl;0d06a7eac">§</ulink> + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> @@ -2290,73 +2669,86 @@ Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2024-08-09 [7adec2d5f] libpq: Trace StartupMessage/SSLRequest/GSSENCRequest cor --> -<listitem> -<para> -Add <function>PQtrace()</function> output for all message types, including authentication (Jelte Fennema-Nio) -<ulink url="&commit_baseurl;ea92f3a0a">§</ulink> -<ulink url="&commit_baseurl;a5c6b8f22">§</ulink> -<ulink url="&commit_baseurl;b8b3f861f">§</ulink> -<ulink url="&commit_baseurl;e87c14b19">§</ulink> -<ulink url="&commit_baseurl;7adec2d5f">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <link + linkend="libpq-PQtrace"><function>PQtrace()</function></link> output + for all message types, including authentication (Jelte Fennema-Nio) + <ulink url="&commit_baseurl;ea92f3a0a">§</ulink> + <ulink url="&commit_baseurl;a5c6b8f22">§</ulink> + <ulink url="&commit_baseurl;b8b3f861f">§</ulink> + <ulink url="&commit_baseurl;e87c14b19">§</ulink> + <ulink url="&commit_baseurl;7adec2d5f">§</ulink> + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2025-04-03 [2da74d8d6] libpq: Add support for dumping SSL key material to file --> -<listitem> -<para> -Add libpq connection parameter <varname>sslkeylogfile</varname> which dumps out <acronym>SSL</acronym> key material (Abhishek Chanda, Daniel Gustafsson) -<ulink url="&commit_baseurl;2da74d8d6">§</ulink> -</para> + <listitem> + <para> + Add libpq connection parameter <link + linkend="libpq-connect-sslkeylogfile"><varname>sslkeylogfile</varname></link> + which dumps out <acronym>SSL</acronym> key material (Abhishek Chanda, + Daniel Gustafsson) + <ulink url="&commit_baseurl;2da74d8d6">§</ulink> + </para> -<para> -This is useful for debugging. -</para> -</listitem> + <para> + This is useful for debugging. + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2025-03-25 [3c86223c9] libpq: Deprecate pg_int64. --> -<listitem> -<para> -Modify some libpq function signatures to use <literal>int64_t</literal> (Thomas Munro) -<ulink url="&commit_baseurl;3c86223c9">§</ulink> -</para> + <listitem> + <para> + Modify some libpq function signatures to use + <literal>int64_t</literal> (Thomas Munro) + <ulink url="&commit_baseurl;3c86223c9">§</ulink> + </para> -<para> -These previously used <literal>pg_int64</literal>, which is now deprecated. -</para> -</listitem> + <para> + These previously used <literal>pg_int64</literal>, which is now + deprecated. + </para> + </listitem> </itemizedlist> </sect3> <sect3 id="release-18-psql"> - <title><xref linkend="app-psql"/></title> + <title><xref linkend="app-psql"/></title> - <itemizedlist> + <itemizedlist> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-08-22 [d55322b0d] psql: Add more meta-commands able to use the extended pr --> -<listitem> -<para> -Allow <application>psql</application> to parse, bind, and close named prepared statements (Anthonin Bonnefoy, Michael Paquier) -<ulink url="&commit_baseurl;d55322b0d">§</ulink> -</para> + <listitem> + <para> + Allow <application>psql</application> to parse, bind, and close + named prepared statements (Anthonin Bonnefoy, Michael Paquier) + <ulink url="&commit_baseurl;d55322b0d">§</ulink> + </para> -<para> -This is accomplished with new commands <literal>\parse</literal>, <literal>\bind_named</literal>, and <literal>\close</literal>. -</para> -</listitem> + <para> + This is accomplished with new commands <link + linkend="app-psql-meta-command-parse"><literal>\parse</literal></link>, + <link + linkend="app-psql-meta-command-bind-named"><literal>\bind_named</literal></link>, + and <link + linkend="app-psql-meta-command-close"><literal>\close</literal></link>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -2367,131 +2759,161 @@ Author: Michael Paquier <michael@paquier.xyz> 2025-03-19 [2cce0fe44] psql: Allow queries terminated by semicolons while in pi --> -<listitem> -<para> -Add <application>psql</application> backslash commands to allowing issuance of pipeline queries (Anthonin Bonnefoy) -<ulink url="&commit_baseurl;41625ab8e">§</ulink> -<ulink url="&commit_baseurl;17caf6644">§</ulink> -<ulink url="&commit_baseurl;2cce0fe44">§</ulink> -</para> + <listitem> + <para> + Add <application>psql</application> backslash commands to allowing + issuance of pipeline queries (Anthonin Bonnefoy) + <ulink url="&commit_baseurl;41625ab8e">§</ulink> + <ulink url="&commit_baseurl;17caf6644">§</ulink> + <ulink url="&commit_baseurl;2cce0fe44">§</ulink> + </para> -<para> -The new commands are <literal>\startpipeline</literal>, <literal>\syncpipeline</literal>, <literal>\sendpipeline</literal>, <literal>\endpipeline</literal>, <literal>\flushrequest</literal>, <literal>\flush</literal>, and <literal>\getresults</literal>. -</para> -</listitem> + <para> + The new commands are <link + linkend="app-psql-meta-command-pipeline"><literal>\startpipeline</literal></link>, + <literal>\syncpipeline</literal>, <literal>\sendpipeline</literal>, + <literal>\endpipeline</literal>, <literal>\flushrequest</literal>, + <literal>\flush</literal>, and <literal>\getresults</literal>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-02-25 [3ce357584] psql: Add pipeline status to prompt and some state varia --> -<listitem> -<para> -Allow adding pipeline status to the <application>psql</application> prompt and add related state variables (Anthonin Bonnefoy) -<ulink url="&commit_baseurl;3ce357584">§</ulink> -</para> + <listitem> + <para> + Allow adding pipeline status to the <application>psql</application> + prompt and add related state variables (Anthonin Bonnefoy) + <ulink url="&commit_baseurl;3ce357584">§</ulink> + </para> -<para> -The new prompt character is <literal>%P</literal> and the new <application>psql</application> variables are <literal>PIPELINE_SYNC_COUNT</literal>, <literal>PIPELINE_COMMAND_COUNT</literal>, and <literal>PIPELINE_RESULT_COUNT</literal>. -</para> -</listitem> + <para> + The new prompt character is <literal>%P</literal> and + the new <application>psql</application> variables are <link + linkend="app-psql-variables-pipeline-sync-count"><literal>PIPELINE_SYNC_COUNT</literal></link>, + <link + linkend="app-psql-variables-pipeline-command-count"><literal>PIPELINE_COMMAND_COUNT</literal></link>, + and <link + linkend="app-psql-variables-pipeline-result-count"><literal>PIPELINE_RESULT_COUNT</literal></link>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-12-18 [477728b5d] psql: Add more information about service name --> -<listitem> -<para> -Allow adding the connection service name to the <application>psql</application> prompt or access it via <application>psql</application> variable (Michael Banck) -<ulink url="&commit_baseurl;477728b5d">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow adding the connection service name to the + <application>psql</application> prompt or access it via + <application>psql</application> variable (Michael Banck) + <ulink url="&commit_baseurl;477728b5d">§</ulink> + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2025-01-14 [00f4c2959] psql: Add option to use expanded mode to all list comman --> -<listitem> -<para> -Add <application>psql</application> option to use expanded mode on all list commands (Dean Rasheed) -<ulink url="&commit_baseurl;00f4c2959">§</ulink> -</para> + <listitem> + <para> + Add <application>psql</application> option to use expanded mode on + all list commands (Dean Rasheed) + <ulink url="&commit_baseurl;00f4c2959">§</ulink> + </para> -<para> -Adding backslash suffix <literal>x</literal> enables this. -</para> -</listitem> + <para> + Adding backslash suffix <literal>x</literal> enables this. + </para> + </listitem> <!-- Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2025-02-22 [bba2fbc62] Change \conninfo to use tabular format --> -<listitem> -<para> -Change <application>psql</application>'s <literal>\conninfo</literal> to use tabular format and include more information (Álvaro Herrera, Maiquel Grassi, Hunaid Sohail) -<ulink url="&commit_baseurl;bba2fbc62">§</ulink> -</para> -</listitem> + <listitem> + <para> + Change <application>psql</application>'s <xref + linkend="app-psql-meta-command-conninfo"/> to use tabular format + and include more information (Álvaro Herrera, Maiquel Grassi, + Hunaid Sohail) + <ulink url="&commit_baseurl;bba2fbc62">§</ulink> + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2025-01-14 [2355e5111] psql: Add leakproof indicator to \df+, \do+, \dAo+, and --> -<listitem> -<para> -Add function's leakproof indicator to <application>psql</application>'s <literal>\df+</literal>, <literal>\do+</literal>, <literal>\dAo+</literal>, and <literal>\dC+</literal> outputs (Yugo Nagata) -<ulink url="&commit_baseurl;2355e5111">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add function's leakproof indicator + to <application>psql</application>'s <link + linkend="app-psql-meta-command-df-lc"><literal>\df+</literal></link>, + <literal>\do+</literal>, <literal>\dAo+</literal>, and + <literal>\dC+</literal> outputs (Yugo Nagata) + <ulink url="&commit_baseurl;2355e5111">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-07-02 [978f38c77] Add information about access method for partitioned rela --> -<listitem> -<para> -Add access method details for partitioned relations in <literal>\dP+</literal> (Justin Pryzby) -<ulink url="&commit_baseurl;978f38c77">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add access method details for partitioned relations in <link + linkend="app-psql-meta-command-dp-uc"><literal>\dP+</literal></link> + (Justin Pryzby) + <ulink url="&commit_baseurl;978f38c77">§</ulink> + </para> + </listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2025-03-24 [d696406a9] psql: show default extension version in \dx output --> -<listitem> -<para> -Add <literal>default_version</literal> to the <application>psql</application> <literal>\dx</literal> extension output (Magnus Hagander) -<ulink url="&commit_baseurl;d696406a9">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <literal>default_version</literal> + to the <application>psql</application> <link + linkend="app-psql-meta-command-dx-lc"><literal>\dx</literal></link> + extension output (Magnus Hagander) + <ulink url="&commit_baseurl;d696406a9">§</ulink> + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2025-03-25 [1a759c832] psql: Make default \watch interval configurable --> -<listitem> -<para> -Add <application>psql</application> variable <literal>WATCH_INTERVAL</literal> to set the default <literal>\watch</literal> wait time (Daniel Gustafsson) -<ulink url="&commit_baseurl;1a759c832">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <application>psql</application> variable <xref + linkend="app-psql-variables-watch-interval"/> to set the default <link + linkend="app-psql-meta-command-watch"><literal>\watch</literal></link> + wait time (Daniel Gustafsson) + <ulink url="&commit_baseurl;1a759c832">§</ulink> + </para> + </listitem> - </itemizedlist> + </itemizedlist> - </sect3> + </sect3> - <sect3 id="release-18-server-apps"> - <title>Server Applications</title> + <sect3 id="release-18-server-apps"> + <title>Server Applications</title> - <itemizedlist> + <itemizedlist> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -2500,33 +2922,38 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2024-10-16 [04bec894a] initdb: Change default to using data checksums. --> -<listitem> -<para> -Change <xref linkend="app-initdb"/> to default to enabling checksums (Greg Sabino Mullane) -<ulink url="&commit_baseurl;983a588e0">§</ulink> -<ulink url="&commit_baseurl;04bec894a">§</ulink> -</para> + <listitem> + <para> + Change <xref linkend="app-initdb"/> to default to enabling checksums + (Greg Sabino Mullane) + <ulink url="&commit_baseurl;983a588e0">§</ulink> + <ulink url="&commit_baseurl;04bec894a">§</ulink> + </para> -<para> -The new <application>initdb</application> option <option>--no-data-checksums</option> disables checksums. -</para> -</listitem> + <para> + The new <application>initdb</application> option + <option>--no-data-checksums</option> disables checksums. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-03-25 [cf131fa94] initdb: Add - -no-sync-data-files. --> -<listitem> -<para> -Add <application>initdb</application> option <option>--no-sync-data-files</option> to avoid syncing heap/index files (Nathan Bossart) -<ulink url="&commit_baseurl;cf131fa94">§</ulink> -</para> + <listitem> + <para> + Add <application>initdb</application> option + <option>--no-sync-data-files</option> to avoid syncing heap/index + files (Nathan Bossart) + <ulink url="&commit_baseurl;cf131fa94">§</ulink> + </para> -<para> -<application>initdb</application> option <option>--no-sync</option> is still available to avoid syncing any files. -</para> -</listitem> + <para> + <application>initdb</application> option <option>--no-sync</option> + is still available to avoid syncing any files. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> @@ -2535,71 +2962,82 @@ Author: Nathan Bossart <nathan@postgresql.org> 2025-04-30 [987910502] vacuumdb: Don't skip empty relations in - -missing-stats- --> -<listitem> -<para> -Add vacuumdb option <option>--missing-stats-only</option> to compute only missing optimizer statistics (Corey Huinker, Nathan Bossart) -<ulink url="&commit_baseurl;edba754f0">§</ulink> -<ulink url="&commit_baseurl;987910502">§</ulink> -</para> + <listitem> + <para> + Add <xref linkend="app-vacuumdb"/> option + <option>--missing-stats-only</option> to compute only missing + optimizer statistics (Corey Huinker, Nathan Bossart) + <ulink url="&commit_baseurl;edba754f0">§</ulink> + <ulink url="&commit_baseurl;987910502">§</ulink> + </para> -<para> -This option can only be used by <option>--analyze-only</option> and <option>--analyze-in-stages</option>. -</para> -</listitem> + <para> + This option can only be used by <option>--analyze-only</option> + and <option>--analyze-in-stages</option>. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2025-03-17 [99aeb8470] pg_combinebackup: Add -k, - -link option. --> -<listitem> -<para> -Add <xref linkend="app-pgcombinebackup"/> option <option>-k</option>/<option>--link</option> to enable hard linking (Israel Barth Rubio, Robert Haas) -<ulink url="&commit_baseurl;99aeb8470">§</ulink> -</para> + <listitem> + <para> + Add <xref linkend="app-pgcombinebackup"/> option + <option>-k</option>/<option>--link</option> to enable hard linking + (Israel Barth Rubio, Robert Haas) + <ulink url="&commit_baseurl;99aeb8470">§</ulink> + </para> -<para> -Only some files can be hard linked. This should not be used if the backups will be used independently. -</para> -</listitem> + <para> + Only some files can be hard linked. This should not be used if the + backups will be used independently. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2024-09-27 [8dfd31290] pg_verifybackup: Verify tar-format backups. --> -<listitem> -<para> -Allow <application>pg_verifybackup</application> to verify tar-format backups (Amul Sul) -<ulink url="&commit_baseurl;8dfd31290">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <xref linkend="app-pgverifybackup"/> to verify tar-format + backups (Amul Sul) + <ulink url="&commit_baseurl;8dfd31290">§</ulink> + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2025-03-12 [4ecdd4110] pg_rewind: Add dbname to primary_conninfo when using - -w --> -<listitem> -<para> -If <xref linkend="app-pgrewind"/>'s <option>--source-server</option> specifies a database name, use it in <option>--write-recovery-conf</option> output (Masahiko Sawada) -<ulink url="&commit_baseurl;4ecdd4110">§</ulink> -</para> -</listitem> + <listitem> + <para> + If <xref linkend="app-pgrewind"/>'s <option>--source-server</option> + specifies a database name, use it in + <option>--write-recovery-conf</option> output (Masahiko Sawada) + <ulink url="&commit_baseurl;4ecdd4110">§</ulink> + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2025-02-21 [30666d185] pg_resetwal: Add - -char-signedness option to change the --> -<listitem> -<para> -Add <application>pg_resetwal</application> option <option>--char-signedness</option> to change the default <type>char</type> signedness (Masahiko Sawada) -<ulink url="&commit_baseurl;30666d185">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="app-pgresetwal"/> option + <option>--char-signedness</option> to change the default + <type>char</type> signedness (Masahiko Sawada) + <ulink url="&commit_baseurl;30666d185">§</ulink> + </para> + </listitem> - </itemizedlist> + </itemizedlist> <sect4 id="release-18-pgdump"> @@ -2615,28 +3053,34 @@ Author: Andrew Dunstan <andrew@dunslane.net> 2025-04-04 [1495eff7b] Non text modes for pg_dumpall, correspondingly change pg --> -<listitem> -<para> -Allow <xref linkend="app-pg-dumpall"/> to dump in the same output formats as <application>pg_dump</application> supports (Mahendra Singh Thalor, Andrew Dunstan) -<ulink url="&commit_baseurl;1495eff7b">§</ulink> -</para> + <listitem> + <para> + Allow <xref linkend="app-pg-dumpall"/> to dump in the same output + formats as <application>pg_dump</application> supports (Mahendra + Singh Thalor, Andrew Dunstan) + <ulink url="&commit_baseurl;1495eff7b">§</ulink> + </para> -<para> -Also modify <xref linkend="app-pgrestore"/> to handle such dumps. Previously <application>pg_dumpall</application> only supported text format. -</para> -</listitem> + <para> + Also modify <xref linkend="app-pgrestore"/> to handle such dumps. + Previously <application>pg_dumpall</application> only supported + text format. + </para> + </listitem> <!-- Author: Jeff Davis <jdavis@postgresql.org> 2025-03-25 [bde2fb797] Add pg_dump - -with-{schema|data|statistics} options. --> -<listitem> -<para> -Add <xref linkend="app-pgdump"/> options <option>--with-schema</option>, <option>--with-data</option>, and <option>--with-statistics</option> (Jeff Davis) -<ulink url="&commit_baseurl;bde2fb797">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="app-pgdump"/> options + <option>--with-schema</option>, <option>--with-data</option>, + and <option>--with-statistics</option> (Jeff Davis) + <ulink url="&commit_baseurl;bde2fb797">§</ulink> + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> @@ -2645,44 +3089,50 @@ Author: Nathan Bossart <nathan@postgresql.org> 2025-05-07 [acea3fc49] pg_dumpall: Add - -sequence-data. --> -<listitem> -<para> -Add <application>pg_dump</application> and <xref linkend="app-pg-dumpall"/> option <option>--sequence-data</option> to dump sequence data that would normally be excluded (Nathan Bossart) -<ulink url="&commit_baseurl;9c49f0e8c">§</ulink> -<ulink url="&commit_baseurl;acea3fc49">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <application>pg_dump</application> and <xref + linkend="app-pg-dumpall"/> option <option>--sequence-data</option> to + dump sequence data that would normally be excluded (Nathan Bossart) + <ulink url="&commit_baseurl;9c49f0e8c">§</ulink> + <ulink url="&commit_baseurl;acea3fc49">§</ulink> + </para> + </listitem> <!-- Author: Jeff Davis <jdavis@postgresql.org> 2025-02-20 [1fd1bd871] Transfer statistics during pg_upgrade. --> -<listitem> -<para> -Add <xref linkend="app-pgdump"/>, <xref linkend="app-pg-dumpall"/>, and -<xref linkend="app-pgrestore"/> options <option>--statistics-only</option>, <option>--no-statistics</option>, <option>--no-data</option>, and <option>--no-schema</option> (Corey Huinker, Jeff Davis) -<ulink url="&commit_baseurl;1fd1bd871">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="app-pgdump"/>, <xref linkend="app-pg-dumpall"/>, + and <xref linkend="app-pgrestore"/> options + <option>--statistics-only</option>, <option>--no-statistics</option>, + <option>--no-data</option>, and <option>--no-schema</option> + (Corey Huinker, Jeff Davis) + <ulink url="&commit_baseurl;1fd1bd871">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-03-16 [cd3c45125] pg_dump, pg_dumpall, pg_restore: Add - -no-policies optio --> -<listitem> -<para> -Add option <option>--no-policies</option> to disable row level security policy processing in -<xref linkend="app-pgdump"/>, <xref linkend="app-pg-dumpall"/>, -<xref linkend="app-pgrestore"/> (Nikolay Samokhvalov) -<ulink url="&commit_baseurl;cd3c45125">§</ulink> -</para> + <listitem> + <para> + Add option <option>--no-policies</option> to disable row level + security policy processing in <xref linkend="app-pgdump"/>, + <xref linkend="app-pg-dumpall"/>, <xref linkend="app-pgrestore"/> + (Nikolay Samokhvalov) + <ulink url="&commit_baseurl;cd3c45125">§</ulink> + </para> -<para> -This is useful for migrating to systems with different policies. -</para> -</listitem> + <para> + This is useful for migrating to systems with different policies. + </para> + </listitem> </itemizedlist> @@ -2704,19 +3154,22 @@ Author: Jeff Davis <jdavis@postgresql.org> 2025-02-20 [1fd1bd871] Transfer statistics during pg_upgrade. --> -<listitem> -<para> -Allow <application>pg_upgrade</application> to preserve optimizer statistics (Corey Huinker, Jeff Davis, Nathan Bossart) -<ulink url="&commit_baseurl;1fd1bd871">§</ulink> -<ulink url="&commit_baseurl;c9d502eb6">§</ulink> -<ulink url="&commit_baseurl;d5f1b6a75">§</ulink> -<ulink url="&commit_baseurl;1fd1bd871">§</ulink> -</para> + <listitem> + <para> + Allow <application>pg_upgrade</application> to preserve optimizer + statistics (Corey Huinker, Jeff Davis, Nathan Bossart) + <ulink url="&commit_baseurl;1fd1bd871">§</ulink> + <ulink url="&commit_baseurl;c9d502eb6">§</ulink> + <ulink url="&commit_baseurl;d5f1b6a75">§</ulink> + <ulink url="&commit_baseurl;1fd1bd871">§</ulink> + </para> -<para> -Extended statistics are not preserved. Also add <application>pg_upgrade</application> option <option>--no-statistics</option> to disable statistics preservation. -</para> -</listitem> + <para> + Extended statistics are not preserved. Also add + <application>pg_upgrade</application> option + <option>--no-statistics</option> to disable statistics preservation. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> @@ -2743,42 +3196,45 @@ Author: Nathan Bossart <nathan@postgresql.org> 2024-09-16 [c880cf258] pg_upgrade: Parallelize encoding conversion check. --> -<listitem> -<para> -Allow <application>pg_upgrade</application> to process database checks in parallel (Nathan Bossart) -<ulink url="&commit_baseurl;40e2e5e92">§</ulink> -<ulink url="&commit_baseurl;6d3d2e8e5">§</ulink> -<ulink url="&commit_baseurl;7baa36de5">§</ulink> -<ulink url="&commit_baseurl;46cad8b31">§</ulink> -<ulink url="&commit_baseurl;6ab8f27bc">§</ulink> -<ulink url="&commit_baseurl;bbf83cab9">§</ulink> -<ulink url="&commit_baseurl;9db3018cf">§</ulink> -<ulink url="&commit_baseurl;c34eabfbb">§</ulink> -<ulink url="&commit_baseurl;cf2f82a37">§</ulink> -<ulink url="&commit_baseurl;f93f5f7b9">§</ulink> -<ulink url="&commit_baseurl;c880cf258">§</ulink> -</para> - -<para> -This is controlled by the existing <option>--jobs</option> option. -</para> -</listitem> + <listitem> + <para> + Allow <application>pg_upgrade</application> to process database + checks in parallel (Nathan Bossart) + <ulink url="&commit_baseurl;40e2e5e92">§</ulink> + <ulink url="&commit_baseurl;6d3d2e8e5">§</ulink> + <ulink url="&commit_baseurl;7baa36de5">§</ulink> + <ulink url="&commit_baseurl;46cad8b31">§</ulink> + <ulink url="&commit_baseurl;6ab8f27bc">§</ulink> + <ulink url="&commit_baseurl;bbf83cab9">§</ulink> + <ulink url="&commit_baseurl;9db3018cf">§</ulink> + <ulink url="&commit_baseurl;c34eabfbb">§</ulink> + <ulink url="&commit_baseurl;cf2f82a37">§</ulink> + <ulink url="&commit_baseurl;f93f5f7b9">§</ulink> + <ulink url="&commit_baseurl;c880cf258">§</ulink> + </para> + + <para> + This is controlled by the existing <option>--jobs</option> option. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-03-25 [626d7236b] pg_upgrade: Add - -swap for faster file transfer. --> -<listitem> -<para> -Add <application>pg_upgrade</application> option <option>--swap</option> to swap directories rather than copy, clone, or link files (Nathan Bossart) -<ulink url="&commit_baseurl;626d7236b">§</ulink> -</para> + <listitem> + <para> + Add <application>pg_upgrade</application> option + <option>--swap</option> to swap directories rather than copy, clone, + or link files (Nathan Bossart) + <ulink url="&commit_baseurl;626d7236b">§</ulink> + </para> -<para> -This mode is potentially the fastest. -</para> -</listitem> + <para> + This mode is potentially the fastest. + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> @@ -2787,17 +3243,21 @@ Author: Masahiko Sawada <msawada@postgresql.org> 2025-02-21 [1aab68059] pg_upgrade: Add - -set-char-signedness to set the default --> -<listitem> -<para> -Add <application>pg_upgrade</application> option <option>--set-char-signedness</option> to set the default <type>char</type> signedness of new cluster (Masahiko Sawada) -<ulink url="&commit_baseurl;a8238f87f">§</ulink> -<ulink url="&commit_baseurl;1aab68059">§</ulink> -</para> + <listitem> + <para> + Add <application>pg_upgrade</application> option + <option>--set-char-signedness</option> to set the default + <type>char</type> signedness of new cluster (Masahiko Sawada) + <ulink url="&commit_baseurl;a8238f87f">§</ulink> + <ulink url="&commit_baseurl;1aab68059">§</ulink> + </para> -<para> -This is to handle cases where a pre-<productname>PostgreSQL</productname> 18 cluster's default <acronym>CPU</acronym> signedness does not match the new cluster. -</para> -</listitem> + <para> + This is to handle cases where a + pre-<productname>PostgreSQL</productname> 18 cluster's default + <acronym>CPU</acronym> signedness does not match the new cluster. + </para> + </listitem> </itemizedlist> @@ -2813,60 +3273,68 @@ Author: Amit Kapila <akapila@postgresql.org> 2025-03-28 [fb2ea12f4] pg_createsubscriber: Add '- -all' option. --> -<listitem> -<para> -Add <xref linkend="app-pgcreatesubscriber"/> option <option>--all</option> to create logical replicas for all databases (Shubham Khanna) -<ulink url="&commit_baseurl;fb2ea12f4">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="app-pgcreatesubscriber"/> option + <option>--all</option> to create logical replicas for all databases + (Shubham Khanna) + <ulink url="&commit_baseurl;fb2ea12f4">§</ulink> + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2025-03-20 [e5aeed4b8] pg_createsubscriber: Add -R publications option. --> -<listitem> -<para> -Add <application>pg_createsubscriber</application> option <option>--remove</option> to remove publications (Shubham Khanna) -<ulink url="&commit_baseurl;e5aeed4b8">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <application>pg_createsubscriber</application> option + <option>--remove</option> to remove publications (Shubham Khanna) + <ulink url="&commit_baseurl;e5aeed4b8">§</ulink> + </para> + </listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2025-02-26 [e117cfb2f] Add two-phase option in pg_createsubscriber. --> -<listitem> -<para> -Add <application>pg_createsubscriber</application> option <option>--enable-two-phase</option> to enable prepared transactions (Shubham Khanna) -<ulink url="&commit_baseurl;e117cfb2f">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <application>pg_createsubscriber</application> option + <option>--enable-two-phase</option> to enable prepared transactions + (Shubham Khanna) + <ulink url="&commit_baseurl;e117cfb2f">§</ulink> + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2025-04-04 [cf2655a90] pg_recvlogical: Add - -failover option. --> -<listitem> -<para> -Add <xref linkend="app-pgrecvlogical"/> option <option>--failover</option> to specify failover slots (Hayato Kuroda) -<ulink url="&commit_baseurl;cf2655a90">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="app-pgrecvlogical"/> option + <option>--failover</option> to specify failover slots (Hayato Kuroda) + <ulink url="&commit_baseurl;cf2655a90">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2025-03-25 [c68100aa4] Allow pg_recvlogical - -drop-slot to work without - -dbnam --> -<listitem> -<para> -Allow <application>pg_recvlogical</application> <option>--drop-slot</option> to work without <option>--dbname</option> (Hayato Kuroda) -<ulink url="&commit_baseurl;c68100aa4">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <application>pg_recvlogical</application> + <option>--drop-slot</option> to work without + <option>--dbname</option> (Hayato Kuroda) + <ulink url="&commit_baseurl;c68100aa4">§</ulink> + </para> + </listitem> </itemizedlist> @@ -2886,65 +3354,76 @@ Author: Michael Paquier <michael@paquier.xyz> 2024-07-18 [a0a5869a8] Add INJECTION_POINT_CACHED() to run injection points dir --> -<listitem> -<para> -Separate the loading and running of injection points (Michael Paquier, Heikki Linnakangas) -<ulink url="&commit_baseurl;4b211003e">§</ulink> -<ulink url="&commit_baseurl;a0a5869a8">§</ulink> -</para> + <listitem> + <para> + Separate the loading and running of <link + linkend="xfunc-addin-injection-points">injection points</link> + (Michael Paquier, Heikki Linnakangas) + <ulink url="&commit_baseurl;4b211003e">§</ulink> + <ulink url="&commit_baseurl;a0a5869a8">§</ulink> + </para> -<para> -Injection points can now be created, but not run, via <function>INJECTION_POINT_LOAD()</function>, and such injection points can be run via <function>INJECTION_POINT_CACHED()</function>. -</para> -</listitem> + <para> + Injection points can now be created, but not run, via <link + linkend="xfunc-addin-injection-points"><function>INJECTION_POINT_LOAD()</function></link>, + and such injection points can be run via <link + linkend="xfunc-addin-injection-points"><function>INJECTION_POINT_CACHED()</function></link>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-05-10 [371f2db8b] Add support for runtime arguments in injection points --> -<listitem> -<para> -Support runtime arguments in injection points (Michael Paquier) -<ulink url="&commit_baseurl;371f2db8b">§</ulink> -</para> -</listitem> + <listitem> + <para> + Support runtime arguments in injection points (Michael Paquier) + <ulink url="&commit_baseurl;371f2db8b">§</ulink> + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2024-07-26 [20e0e7da9] Add test for early backend startup errors --> -<listitem> -<para> -Allow inline injection point test code with <function>IS_INJECTION_POINT_ATTACHED()</function> (Heikki Linnakangas) -<ulink url="&commit_baseurl;20e0e7da9">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow inline injection point test code with <link + linkend="xfunc-addin-injection-points"><function>IS_INJECTION_POINT_ATTACHED()</function></link> + (Heikki Linnakangas) + <ulink url="&commit_baseurl;20e0e7da9">§</ulink> + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-08-05 [ca6fde922] Optimize JSON escaping using SIMD --> -<listitem> -<para> -Improve the performance of processing long <type>JSON</type> strings using <acronym>SIMD</acronym> instructions (David Rowley) -<ulink url="&commit_baseurl;ca6fde922">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve the performance of processing long <link + linkend="datatype-json"><type>JSON</type></link> strings using + <acronym>SIMD</acronym> (Single Instruction Multiple Data) (David + Rowley) + <ulink url="&commit_baseurl;ca6fde922">§</ulink> + </para> + </listitem> <!-- Author: John Naylor <john.naylor@postgresql.org> 2025-04-06 [3c6e8c123] Compute CRC32C using AVX-512 instructions where availabl --> -<listitem> -<para> -Speed up CRC32C calculations using x86 <acronym>AVX</acronym>-512 instructions (Raghuveer Devulapalli, Paul Amonson) -<ulink url="&commit_baseurl;3c6e8c123">§</ulink> -</para> -</listitem> + <listitem> + <para> + Speed up CRC32C calculations using x86 <acronym>AVX</acronym>-512 + instructions (Raghuveer Devulapalli, Paul Amonson) + <ulink url="&commit_baseurl;3c6e8c123">§</ulink> + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> @@ -2953,13 +3432,15 @@ Author: Nathan Bossart <nathan@postgresql.org> 2025-03-28 [519338ace] Optimize popcount functions with ARM SVE intrinsics. --> -<listitem> -<para> -Add <acronym>ARM</acronym> Neon and <acronym>SVE CPU</acronym> intrinsics for popcount (integer bit counting) (Chiranmoy Bhattacharya, Devanga Susmitha, Rama Malladi) -<ulink url="&commit_baseurl;6be53c276">§</ulink> -<ulink url="&commit_baseurl;519338ace">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <acronym>ARM</acronym> Neon and <acronym>SVE CPU</acronym> + intrinsics for popcount (integer bit counting) (Chiranmoy + Bhattacharya, Devanga Susmitha, Rama Malladi) + <ulink url="&commit_baseurl;6be53c276">§</ulink> + <ulink url="&commit_baseurl;519338ace">§</ulink> + </para> + </listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> @@ -2972,15 +3453,16 @@ Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2024-10-04 [9428c001f] Speed up numeric division by always using the "fast" alg --> -<listitem> -<para> -Improve the speed of numeric multiplication and division (Joel Jacobson, Dean Rasheed) -<ulink url="&commit_baseurl;ca481d3c9">§</ulink> -<ulink url="&commit_baseurl;c4e44224c">§</ulink> -<ulink url="&commit_baseurl;8dc28d7eb">§</ulink> -<ulink url="&commit_baseurl;9428c001f">§</ulink> -</para> -</listitem> + <listitem> + <para> + Improve the speed of numeric multiplication and division (Joel + Jacobson, Dean Rasheed) + <ulink url="&commit_baseurl;ca481d3c9">§</ulink> + <ulink url="&commit_baseurl;c4e44224c">§</ulink> + <ulink url="&commit_baseurl;8dc28d7eb">§</ulink> + <ulink url="&commit_baseurl;9428c001f">§</ulink> + </para> + </listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> @@ -2991,56 +3473,71 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> 2025-04-07 [ba2a3c230] Add pg_buffercache_numa view with NUMA node info --> -<listitem> -<para> -Add configure option <option>--with-libnuma</option> to enable <acronym>NUMA</acronym> awareness (Jakub Wartak, Bertrand Drouvot) -<ulink url="&commit_baseurl;65c298f61">§</ulink> -<ulink url="&commit_baseurl;8cc139bec">§</ulink> -<ulink url="&commit_baseurl;ba2a3c230">§</ulink> -</para> + <listitem> + <para> + Add configure option <link + linkend="configure-option-with-libnuma"><option>--with-libnuma</option></link> + to enable <acronym>NUMA</acronym> awareness (Jakub Wartak, Bertrand + Drouvot) + <ulink url="&commit_baseurl;65c298f61">§</ulink> + <ulink url="&commit_baseurl;8cc139bec">§</ulink> + <ulink url="&commit_baseurl;ba2a3c230">§</ulink> + </para> -<para> -The function <function>pg_numa_available()</function> reports on <acronym>NUMA</acronym> awareness, and system views <link linkend="view-pg-shmem-allocations-numa"><structname>pg_shmem_allocations_numa</structname></link> and <link linkend="pgbuffercache-pg-buffercache-numa"><structname>pg_buffercache_numa</structname></link> which report on shared memory distribution across -<acronym>NUMA</acronym> nodes. -</para> -</listitem> + <para> + The function <link + linkend="functions-info-session-table"><function>pg_numa_available()</function></link> + reports on <acronym>NUMA</acronym> awareness, and system views <link + linkend="view-pg-shmem-allocations-numa"><structname>pg_shmem_allocations_numa</structname></link> + and <link + linkend="pgbuffercache-pg-buffercache-numa"><structname>pg_buffercache_numa</structname></link> + which report on shared memory distribution across + <acronym>NUMA</acronym> nodes. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2024-09-18 [b52c4fc3c] Add TOAST table to pg_index. --> -<listitem> -<para> -Add <acronym>TOAST</acronym> table to <link linkend="catalog-pg-index"><structname>pg_index</structname></link> to allow for very large expression indexes (Nathan Bossart) -<ulink url="&commit_baseurl;b52c4fc3c">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <link + linkend="storage-toast"><acronym>TOAST</acronym></link> table to <link + linkend="catalog-pg-index"><structname>pg_index</structname></link> + to allow for very large expression indexes (Nathan Bossart) + <ulink url="&commit_baseurl;b52c4fc3c">§</ulink> + </para> + </listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2024-12-20 [02a8d0c45] Remove pg_attribute.attcacheoff column --> -<listitem> -<para> -Remove column -<link linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.<structfield>attcacheoff</structfield> (David Rowley) -<ulink url="&commit_baseurl;02a8d0c45">§</ulink> -</para> -</listitem> + <listitem> + <para> + Remove column <link + linkend="catalog-pg-attribute"><structname>pg_attribute</structname></link>.<structfield>attcacheoff</structfield> + (David Rowley) + <ulink url="&commit_baseurl;02a8d0c45">§</ulink> + </para> + </listitem> <!-- Author: Melanie Plageman <melanieplageman@gmail.com> 2025-03-03 [99f8f3fbb] Add relallfrozen to pg_class --> -<listitem> -<para> -Add column <link linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>relallfrozen</structfield> (Melanie Plageman) -<ulink url="&commit_baseurl;99f8f3fbb">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add column <link + linkend="catalog-pg-class"><structname>pg_class</structname></link>.<structfield>relallfrozen</structfield> + (Melanie Plageman) + <ulink url="&commit_baseurl;99f8f3fbb">§</ulink> + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -3049,37 +3546,45 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2025-03-07 [af4002b38] Rename amcancrosscompare --> -<listitem> -<para> -Add <literal>amgettreeheight</literal>, <literal>amconsistentequality</literal>, and <literal>amconsistentordering</literal> to the index access method <acronym>API</acronym> (Mark Dilger) -<ulink url="&commit_baseurl;56fead44d">§</ulink> -<ulink url="&commit_baseurl;af4002b38">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <link + linkend="indexam"><structfield>amgettreeheight</structfield></link>, + <literal>amconsistentequality</literal>, and + <literal>amconsistentordering</literal> to the index access method + <acronym>API</acronym> (Mark Dilger) + <ulink url="&commit_baseurl;56fead44d">§</ulink> + <ulink url="&commit_baseurl;af4002b38">§</ulink> + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-09-17 [7406ab623] Add stratnum GiST support function --> -<listitem> -<para> -Add GiST support function <function>stratnum()</function> (Paul A. Jungwirth) -<ulink url="&commit_baseurl;7406ab623">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add GiST support function <link + linkend="gist-extensibility"><function>stratnum()</function></link> + (Paul A. Jungwirth) + <ulink url="&commit_baseurl;7406ab623">§</ulink> + </para> + </listitem> <!-- Author: Masahiko Sawada <msawada@postgresql.org> 2025-02-21 [44fe30fda] Add default_char_signedness field to ControlFileData. --> -<listitem> -<para> -Record the default <acronym>CPU</acronym> signedness of <literal>char</literal> in <filename>pg_controldata</filename> (Masahiko Sawada) -<ulink url="&commit_baseurl;44fe30fda">§</ulink> -</para> -</listitem> + <listitem> + <para> + Record the default <acronym>CPU</acronym> signedness of + <literal>char</literal> in <xref linkend="app-pgcontroldata"/> + (Masahiko Sawada) + <ulink url="&commit_baseurl;44fe30fda">§</ulink> + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> @@ -3088,29 +3593,32 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2025-03-14 [0793ab810] Activate Python "Limited API" in PL/Python --> -<listitem> -<para> -Add support for Python "Limited <acronym>API</acronym>" in <xref linkend="plpython"/> (Peter Eisentraut) -<ulink url="&commit_baseurl;72a3d0462">§</ulink> -<ulink url="&commit_baseurl;0793ab810">§</ulink> -</para> + <listitem> + <para> + Add support for Python "Limited <acronym>API</acronym>" in <xref + linkend="plpython"/> (Peter Eisentraut) + <ulink url="&commit_baseurl;72a3d0462">§</ulink> + <ulink url="&commit_baseurl;0793ab810">§</ulink> + </para> -<para> -This helps prevent problems caused by <application>Python</application> 3.x version mismatches. -</para> -</listitem> + <para> + This helps prevent problems caused by + <application>Python</application> 3.x version mismatches. + </para> + </listitem> <!-- Author: Jacob Champion <jchampion@postgresql.org> 2025-04-29 [45363fca6] Bump the minimum supported Python version to 3.6.8 --> -<listitem> -<para> -Change the minimum supported <application>Python</application> version to 3.6.8 (Jacob Champion) -<ulink url="&commit_baseurl;45363fca6">§</ulink> -</para> -</listitem> + <listitem> + <para> + Change the minimum supported <application>Python</application> + version to 3.6.8 (Jacob Champion) + <ulink url="&commit_baseurl;45363fca6">§</ulink> + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> @@ -3119,81 +3627,94 @@ Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2024-10-24 [6c66b7443] Raise the minimum supported OpenSSL version to 1.1.1 --> -<listitem> -<para> -Remove support for <application>OpenSSL</application> versions older than 1.1.1 (Daniel Gustafsson) -<ulink url="&commit_baseurl;a70e01d43">§</ulink> -<ulink url="&commit_baseurl;6c66b7443">§</ulink> -</para> -</listitem> + <listitem> + <para> + Remove support for <application>OpenSSL</application> versions older + than 1.1.1 (Daniel Gustafsson) + <ulink url="&commit_baseurl;a70e01d43">§</ulink> + <ulink url="&commit_baseurl;6c66b7443">§</ulink> + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2024-10-01 [972c2cd28] jit: Require at least LLVM 14, if enabled. --> -<listitem> -<para> -If <application>LLVM</application> is enabled, require version 14 or later (Thomas Munro) -<ulink url="&commit_baseurl;972c2cd28">§</ulink> -</para> -</listitem> + <listitem> + <para> + If <application>LLVM</application> is enabled, require version 14 + or later (Thomas Munro) + <ulink url="&commit_baseurl;972c2cd28">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-03-26 [9324c8c58] Introduce PG_MODULE_MAGIC_EXT macro. --> -<listitem> -<para> -Add macro <literal>PG_MODULE_MAGIC_EXT</literal> to allow extensions to report their name and version (Andrei Lepikhov) -<ulink url="&commit_baseurl;9324c8c58">§</ulink> -</para> + <listitem> + <para> + Add macro <link + linkend="functions-info"><literal>PG_MODULE_MAGIC_EXT</literal></link> + to allow extensions to report their name and version (Andrei Lepikhov) + <ulink url="&commit_baseurl;9324c8c58">§</ulink> + </para> -<para> -This information can be access via the new function <function>pg_get_loaded_modules()</function>. -</para> -</listitem> + <para> + This information can be access via the new function <link + linkend="functions-info-session-table"><function>pg_get_loaded_modules()</function></link>. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-09-09 [218527d01] Don't bother checking the result of SPI_connect[_ext] an --> -<listitem> -<para> -Document that <function>SPI_connect()</function>/<function>SPI_connect_ext()</function> always returns success (<literal>SPI_OK_CONNECT</literal>) (Stepan Neretin) -<ulink url="&commit_baseurl;218527d01">§</ulink> -</para> + <listitem> + <para> + Document that <link + linkend="spi-spi-connect"><function>SPI_connect()</function></link>/<link + linkend="spi-spi-connect"><function>SPI_connect_ext()</function></link> + always returns success (<literal>SPI_OK_CONNECT</literal>) (Stepan + Neretin) + <ulink url="&commit_baseurl;218527d01">§</ulink> + </para> -<para> -Errors are always reported via <function>ereport()</function>. -</para> -</listitem> + <para> + Errors are always reported via <function>ereport()</function>. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> -2025-01-27 [5afaba629] doc: Meson is not experimental on Windows +2024-07-31 [e54a42ac9] Add API and ABI stability guidance to the C language doc --> -<listitem> -<para> -Remove the experimental designation of <application>Meson</application> builds on <systemitem class="osname">Windows</systemitem> (Aleksander Alekseev) -<ulink url="&commit_baseurl;5afaba629">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <link linkend="xfunc-api-abi-stability-guidance">documentation + section</link> about <acronym>API</acronym> and <acronym>ABI</acronym> + compatibility (David Wheeler, Peter Eisentraut) + <ulink url="&commit_baseurl;e54a42ac9">§</ulink> + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> -2024-07-31 [e54a42ac9] Add API and ABI stability guidance to the C language doc +2025-01-27 [5afaba629] doc: Meson is not experimental on Windows --> -<listitem> -<para> -Add documentation section about <acronym>API</acronym> and <acronym>ABI</acronym> compatibility (David Wheeler, Peter Eisentraut) -<ulink url="&commit_baseurl;e54a42ac9">§</ulink> -</para> -</listitem> + <listitem> + <para> + Remove the experimental designation of + <application>Meson</application> builds on <systemitem + class="osname">Windows</systemitem> (Aleksander Alekseev) + <ulink url="&commit_baseurl;5afaba629">§</ulink> + </para> + </listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> @@ -3202,29 +3723,32 @@ Author: Thomas Munro <tmunro@postgresql.org> 2024-07-30 [813852613] Remove - -disable-atomics, require 32 bit atomics. --> -<listitem> -<para> -Remove configure options <option>--disable-spinlocks</option> and <option>--disable-atomics</option> (Thomas Munro) -<ulink url="&commit_baseurl;e25626677">§</ulink> -<ulink url="&commit_baseurl;813852613">§</ulink> -</para> + <listitem> + <para> + Remove configure options <option>--disable-spinlocks</option> and + <option>--disable-atomics</option> (Thomas Munro) + <ulink url="&commit_baseurl;e25626677">§</ulink> + <ulink url="&commit_baseurl;813852613">§</ulink> + </para> -<para> -Thirty-two-bit atomic operations are now required. -</para> -</listitem> + <para> + Thirty-two-bit atomic operations are now required. + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2024-07-01 [edadeb071] Remove support for HPPA (a/k/a PA-RISC) architecture. --> -<listitem> -<para> -Remove support for the <acronym>HPPA</acronym>/<acronym>PA-RISC</acronym> architecture (Tom Lane) -<ulink url="&commit_baseurl;edadeb071">§</ulink> -</para> -</listitem> + <listitem> + <para> + Remove support for the + <acronym>HPPA</acronym>/<acronym>PA-RISC</acronym> architecture + (Tom Lane) + <ulink url="&commit_baseurl;edadeb071">§</ulink> + </para> + </listitem> </itemizedlist> @@ -3240,24 +3764,27 @@ Author: Masahiko Sawada <msawada@postgresql.org> 2024-10-14 [7cdfeee32] Add contrib/pg_logicalinspect. --> -<listitem> -<para> -Add extension <xref linkend="pglogicalinspect"/> to inspect logical snapshots (Bertrand Drouvot) -<ulink url="&commit_baseurl;7cdfeee32">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add extension <xref linkend="pglogicalinspect"/> to inspect logical + snapshots (Bertrand Drouvot) + <ulink url="&commit_baseurl;7cdfeee32">§</ulink> + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2025-03-26 [8d5ceb113] pg_overexplain: Additional EXPLAIN options for debugging --> -<listitem> -<para> -Add extension <application>pg_overexplain</application> which adds debug details to <link linkend="sql-explain"><command>EXPLAIN</command></link> output (Robert Haas) -<ulink url="&commit_baseurl;8d5ceb113">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add extension <xref linkend="pgoverexplain"/> which adds debug details + to <link linkend="sql-explain"><command>EXPLAIN</command></link> + output (Robert Haas) + <ulink url="&commit_baseurl;8d5ceb113">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> @@ -3270,169 +3797,197 @@ Author: Fujii Masao <fujii@postgresql.org> 2025-03-03 [fe186bda7] postgres_fdw: Extend postgres_fdw_get_connections to ret --> -<listitem> -<para> -Add output columns to <function>postgres_fdw_get_connections()</function> (Hayato Kuroda, Sagar Dilip Shedge) -<ulink url="&commit_baseurl;c297a47c5">§</ulink> -<ulink url="&commit_baseurl;857df3cef">§</ulink> -<ulink url="&commit_baseurl;4f08ab554">§</ulink> -<ulink url="&commit_baseurl;fe186bda7">§</ulink> -</para> + <listitem> + <para> + Add output columns to <link + linkend="postgres-fdw-functions"><function>postgres_fdw_get_connections()</function></link> + (Hayato Kuroda, Sagar Dilip Shedge) + <ulink url="&commit_baseurl;c297a47c5">§</ulink> + <ulink url="&commit_baseurl;857df3cef">§</ulink> + <ulink url="&commit_baseurl;4f08ab554">§</ulink> + <ulink url="&commit_baseurl;fe186bda7">§</ulink> + </para> -<para> -New output column <structfield>used_in_xact</structfield> indicates if the foreign data wrapper is being used by a current transaction, <structfield>closed</structfield> indicates if it is closed, <structfield>user_name</structfield> indicates the -user name, and <structfield>remote_backend_pid</structfield> indicates the remote backend process identifier. -</para> -</listitem> + <para> + New output column <structfield>used_in_xact</structfield> indicates + if the foreign data wrapper is being used by a current transaction, + <structfield>closed</structfield> indicates if it is closed, + <structfield>user_name</structfield> indicates the user name, and + <structfield>remote_backend_pid</structfield> indicates the remote + backend process identifier. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2025-01-15 [761c79508] postgres_fdw: SCRAM authentication pass-through --> -<listitem> -<para> -Allow <acronym>SCRAM</acronym> authentication from the client to be passed to -<xref linkend="postgres-fdw"/> servers (Matheus Alcantara, Peter Eisentraut) -<ulink url="&commit_baseurl;761c79508">§</ulink> -</para> + <listitem> + <para> + Allow <link linkend="auth-password"><acronym>SCRAM</acronym></link> + authentication from the client to be passed to <xref + linkend="postgres-fdw"/> servers (Matheus Alcantara, Peter Eisentraut) + <ulink url="&commit_baseurl;761c79508">§</ulink> + </para> -<para> -This avoids storing <application>postgres_fdw</application> authentication information in the database, and is enabled with the -<application>postgres_fdw</application> <literal>use_scram_passthrough</literal> connection option. libpq uses new connection -parameters <literal>scram_client_key</literal> and <literal>scram_server_key</literal>. -</para> -</listitem> + <para> + This avoids storing <application>postgres_fdw</application> + authentication information in the database, and is + enabled with the <application>postgres_fdw</application> <link + linkend="postgres-fdw-option-use-scram-passthrough"><literal>use_scram_passthrough</literal></link> + connection option. libpq uses new connection parameters + <xref linkend="libpq-connect-scram-client-key"/> and <xref + linkend="libpq-connect-scram-server-key"/>. + </para> + </listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2025-03-26 [3642df265] dblink: SCRAM authentication pass-through --> -<listitem> -<para> -Allow <acronym>SCRAM</acronym> authentication from the client to be passed to -<xref linkend="dblink"/> servers (Matheus Alcantara) -<ulink url="&commit_baseurl;3642df265">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow <acronym>SCRAM</acronym> authentication from the client to be + passed to <xref linkend="dblink"/> servers (Matheus Alcantara) + <ulink url="&commit_baseurl;3642df265">§</ulink> + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-10-03 [a1c4c8a9e] file_fdw: Add on_error and log_verbosity options to file --> -<listitem> -<para> -Add <literal>on_error</literal> and <literal>log_verbosity</literal> options to <xref linkend="file-fdw"/> (Atsushi Torikoshi) -<ulink url="&commit_baseurl;a1c4c8a9e">§</ulink> -</para> + <listitem> + <para> + Add <literal>on_error</literal> and <literal>log_verbosity</literal> + options to <xref linkend="file-fdw"/> (Atsushi Torikoshi) + <ulink url="&commit_baseurl;a1c4c8a9e">§</ulink> + </para> -<para> -These control how <application>file_fdw</application> handles and reports invalid file rows. -</para> -</listitem> + <para> + These control how <application>file_fdw</application> handles and + reports invalid file rows. + </para> + </listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2024-11-20 [6c8f67032] file_fdw: Add REJECT_LIMIT option to file_fdw. --> -<listitem> -<para> -Add <literal>reject_limit</literal> to control the number of invalid rows <application>file_fdw</application> can ignore (Atsushi Torikoshi) -<ulink url="&commit_baseurl;6c8f67032">§</ulink> -</para> + <listitem> + <para> + Add <literal>reject_limit</literal> to control the number of + invalid rows <application>file_fdw</application> can ignore (Atsushi + Torikoshi) + <ulink url="&commit_baseurl;6c8f67032">§</ulink> + </para> -<para> -This is active when <literal>ON_ERROR = 'ignore'</literal>. -</para> -</listitem> + <para> + This is active when <literal>ON_ERROR = 'ignore'</literal>. + </para> + </listitem> <!-- Author: Nathan Bossart <nathan@postgresql.org> 2025-01-07 [f7e1b3828] Add passwordcheck.min_password_length. --> -<listitem> -<para> -Add configurable variable <varname>min_password_length</varname> to -<xref linkend="passwordcheck"/> (Emanuele Musella, Maurizio Boriani) -<ulink url="&commit_baseurl;f7e1b3828">§</ulink> -</para> + <listitem> + <para> + Add configurable variable <varname>min_password_length</varname> to + <xref linkend="passwordcheck"/> (Emanuele Musella, Maurizio Boriani) + <ulink url="&commit_baseurl;f7e1b3828">§</ulink> + </para> -<para> -This controls the minimum password length. -</para> -</listitem> + <para> + This controls the minimum password length. + </para> + </listitem> <!-- Author: Tatsuo Ishii <ishii@postgresql.org> 2024-10-11 [cae0f3c40] pgbench: Improve result outputs related to failed transa --> -<listitem> -<para> -Have <application>pgbench</application> report the number of failed, retried, or skipped transactions in per-script reports (Yugo Nagata) -<ulink url="&commit_baseurl;cae0f3c40">§</ulink> -</para> -</listitem> + <listitem> + <para> + Have <xref linkend="pgbench"/> report the number of failed, retried, + or skipped transactions in per-script reports (Yugo Nagata) + <ulink url="&commit_baseurl;cae0f3c40">§</ulink> + </para> + </listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2025-03-16 [448904423] contrib/isn: Make weak mode a GUC setting, and fix relat --> -<listitem> -<para> -Add <xref linkend="isn"/> server variable <literal>weak</literal> to control invalid check digit acceptance (Viktor Holmberg) -<ulink url="&commit_baseurl;448904423">§</ulink> -</para> + <listitem> + <para> + Add <xref linkend="isn"/> server variable <literal>weak</literal> + to control invalid check digit acceptance (Viktor Holmberg) + <ulink url="&commit_baseurl;448904423">§</ulink> + </para> -<para> -This was previously only controlled by function <function>isn_weak()</function>. -</para> -</listitem> + <para> + This was previously only controlled by function <link + linkend="isn-functions"><function>isn_weak()</function></link>. + </para> + </listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2025-04-03 [e4309f73f] Add support for sorted gist index builds to btree_gist --> -<listitem> -<para> -Allow values to be sorted to speed <application>btree_gist</application> index builds (Bernd Helmle, Andrey Borodin) -<ulink url="&commit_baseurl;e4309f73f">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow values to be sorted to speed <xref linkend="btree-gist"/> + index builds (Bernd Helmle, Andrey Borodin) + <ulink url="&commit_baseurl;e4309f73f">§</ulink> + </para> + </listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2025-03-29 [14ffaece0] amcheck: Add gin_index_check() to verify GIN index --> -<listitem> -<para> -Add amcheck function <function>gin_index_check()</function> to verify <literal>GIN</literal> indexes (Grigory Kryachko, Heikki Linnakangas, Andrey Borodin) -<ulink url="&commit_baseurl;14ffaece0">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <xref linkend="amcheck"/> check function <link + linkend="amcheck-functions"><function>gin_index_check()</function></link> + to verify <literal>GIN</literal> indexes (Grigory Kryachko, Heikki + Linnakangas, Andrey Borodin) + <ulink url="&commit_baseurl;14ffaece0">§</ulink> + </para> + </listitem> <!-- Author: Andres Freund <andres@anarazel.de> 2025-04-08 [dcf7e1697] Add pg_buffercache_evict_{relation,all} functions --> -<listitem> -<para> -Add functions <function>pg_buffercache_evict_relation()</function> and <function>pg_buffercache_evict_all()</function> to evict unpinned shared buffers (Nazir Bilal Yavuz) -<ulink url="&commit_baseurl;dcf7e1697">§</ulink> -</para> + <listitem> + <para> + Add functions <link + linkend="pgbuffercache-pg-buffercache-evict-relation"><function>pg_buffercache_evict_relation()</function></link> + and <link + linkend="pgbuffercache-pg-buffercache-evict-all"><function>pg_buffercache_evict_all()</function></link> + to evict unpinned shared buffers (Nazir Bilal Yavuz) + <ulink url="&commit_baseurl;dcf7e1697">§</ulink> + </para> -<para> -The existing function <function>pg_buffercache_evict()</function> now returns the buffer flush status. -</para> -</listitem> + <para> + The existing function <link + linkend="pgbuffercache-pg-buffercache-evict"><function>pg_buffercache_evict()</function></link> + now returns the buffer flush status. + </para> + </listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> @@ -3443,14 +3998,15 @@ Author: Robert Haas <rhaas@postgresql.org> 2025-03-20 [50ba65e73] Add an additional hook for EXPLAIN option validation. --> -<listitem> -<para> -Allow extensions to install custom <link linkend="sql-explain"><command>EXPLAIN</command></link> options (Robert Haas, Sami Imseih) -<ulink url="&commit_baseurl;c65bc2e1d">§</ulink> -<ulink url="&commit_baseurl;4fd02bf7c">§</ulink> -<ulink url="&commit_baseurl;50ba65e73">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow extensions to install custom <xref linkend="sql-explain"/> + options (Robert Haas, Sami Imseih) + <ulink url="&commit_baseurl;c65bc2e1d">§</ulink> + <ulink url="&commit_baseurl;4fd02bf7c">§</ulink> + <ulink url="&commit_baseurl;50ba65e73">§</ulink> + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> @@ -3459,13 +4015,14 @@ Author: Michael Paquier <michael@paquier.xyz> 2024-08-05 [2eff9e678] Add helper routines to retrieve data for custom fixed-nu --> -<listitem> -<para> -Allow extensions to use the server's cumulative statistics <acronym>API</acronym> (Michael Paquier) -<ulink url="&commit_baseurl;7949d9594">§</ulink> -<ulink url="&commit_baseurl;2eff9e678">§</ulink> -</para> -</listitem> + <listitem> + <para> + Allow extensions to use the server's cumulative statistics + <acronym>API</acronym> (Michael Paquier) + <ulink url="&commit_baseurl;7949d9594">§</ulink> + <ulink url="&commit_baseurl;2eff9e678">§</ulink> + </para> + </listitem> </itemizedlist> @@ -3479,60 +4036,71 @@ Author: Michael Paquier <michael@paquier.xyz> 2024-10-28 [6b652e6ce] Set query ID for inner queries of CREATE TABLE AS and DE --> -<listitem> -<para> -Allow the queries of <xref linkend="sql-createtableas"/> and <xref linkend="sql-declare"/> to be tracked by <application>pg_stat_statements</application> (Anthonin Bonnefoy) -<ulink url="&commit_baseurl;6b652e6ce">§</ulink> -</para> + <listitem> + <para> + Allow the queries of <xref linkend="sql-createtableas"/> + and <xref linkend="sql-declare"/> to be tracked by + <application>pg_stat_statements</application> (Anthonin Bonnefoy) + <ulink url="&commit_baseurl;6b652e6ce">§</ulink> + </para> -<para> -They are also now assigned query ids. -</para> -</listitem> + <para> + They are also now assigned query ids. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-09-30 [dc6851596] Show values of SET statements as constants in pg_stat_st --> -<listitem> -<para> -Allow the parameterization of <xref linkend="sql-set"/> values in <application>pg_stat_statements</application> (Greg Sabino Mullane, Michael Paquier) -<ulink url="&commit_baseurl;dc6851596">§</ulink> -</para> + <listitem> + <para> + Allow the parameterization of <xref linkend="sql-set"/> values in + <application>pg_stat_statements</application> (Greg Sabino Mullane, + Michael Paquier) + <ulink url="&commit_baseurl;dc6851596">§</ulink> + </para> -<para> -This reduces the bloat caused by <command>SET</command> statements with differing constants. -</para> -</listitem> + <para> + This reduces the bloat caused by <command>SET</command> statements + with differing constants. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2024-10-09 [cf54a2c00] pg_stat_statements: Add columns to track parallel worker --> -<listitem> -<para> -Add <link linkend="pgstatstatements-pg-stat-statements"><structname>pg_stat_statements</structname></link> columns to report parallel activity (Guillaume Lelarge) -<ulink url="&commit_baseurl;cf54a2c00">§</ulink> -</para> + <listitem> + <para> + Add <link + linkend="pgstatstatements-pg-stat-statements"><structname>pg_stat_statements</structname></link> + columns to report parallel activity (Guillaume Lelarge) + <ulink url="&commit_baseurl;cf54a2c00">§</ulink> + </para> -<para> -The new columns are <structfield>parallel_workers_to_launch</structfield> and <structfield>parallel_workers_launched</structfield>. -</para> -</listitem> + <para> + The new columns are + <structfield>parallel_workers_to_launch</structfield> and + <structfield>parallel_workers_launched</structfield>. + </para> + </listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2025-02-17 [ce5bcc4a9] pg_stat_statements: Add wal_buffers_full --> -<listitem> -<para> -Add <structname>pg_stat_statements</structname>.<structfield>wal_buffers_full</structfield> to report full <acronym>WAL</acronym> buffers (Bertrand Drouvot) -<ulink url="&commit_baseurl;ce5bcc4a9">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add + <structname>pg_stat_statements</structname>.<structfield>wal_buffers_full</structfield> + to report full <acronym>WAL</acronym> buffers (Bertrand Drouvot) + <ulink url="&commit_baseurl;ce5bcc4a9">§</ulink> + </para> + </listitem> </itemizedlist> @@ -3548,40 +4116,65 @@ Author: Álvaro Herrera <alvherre@alvh.no-ip.org> 2025-04-05 [749a9e20c] Add modern SHA-2 based password hashes to pgcrypto. --> -<listitem> -<para> -Add <application>pgcrypto</application> functions <function>sha256crypt()</function> and <function>sha512crypt()</function> (Bernd Helmle) -<ulink url="&commit_baseurl;749a9e20c">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <application>pgcrypto</application> algorithms <link + linkend="pgcrypto-crypt-algorithms"><literal>sha256crypt</literal></link> + and <link + linkend="pgcrypto-crypt-algorithms"><literal>sha512crypt</literal></link> + (Bernd Helmle) + <ulink url="&commit_baseurl;749a9e20c">§</ulink> + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2025-02-14 [9ad1b3d01] pgcrypto: Add support for CFB mode in AES encryption --> -<listitem> -<para> -Add <acronym>CFB</acronym> mode to <application>pgcrypto</application> encryption and decryption (Umar Hayat) -<ulink url="&commit_baseurl;9ad1b3d01">§</ulink> -</para> -</listitem> + <listitem> + <para> + Add <link + linkend="pgcrypto-raw-enc-funcs"><acronym>CFB</acronym></link> mode + to <application>pgcrypto</application> encryption and decryption + (Umar Hayat) + <ulink url="&commit_baseurl;9ad1b3d01">§</ulink> + </para> + </listitem> + +<!-- +Author: Daniel Gustafsson <dgustafsson@postgresql.org> +2025-01-24 [924d89a35] pgcrypto: Add function to check FIPS mode +--> + + <listitem> + <para> + Add function <link + linkend="pgcrypto-openssl-support-funcs"><function>fips_mode()</function></link> + to report the server's <acronym>FIPS</acronym> mode (Daniel + Gustafsson) + <ulink url="&commit_baseurl;924d89a35">§</ulink> + </para> + </listitem> <!-- Author: Daniel Gustafsson <dgustafsson@postgresql.org> 2025-01-24 [035f99cbe] pgcrypto: Make it possible to disable built-in crypto --> -<listitem> -<para> -Add <application>pgcrypto</application> server variable <varname>builtin_crypto_enabled</varname> to allow disabling builtin non-<acronym>FIPS</acronym> mode cryptographic functions (Daniel Gustafsson, Joe Conway) -<ulink url="&commit_baseurl;035f99cbe">§</ulink> -</para> + <listitem> + <para> + Add <application>pgcrypto</application> server variable <link + linkend="pgcrypto-configuration-parameters-builtin_crypto_enabled"><varname>builtin_crypto_enabled</varname></link> + to allow disabling builtin non-<acronym>FIPS</acronym> mode + cryptographic functions (Daniel Gustafsson, Joe Conway) + <ulink url="&commit_baseurl;035f99cbe">§</ulink> + </para> -<para> -This is useful for guaranteeing <acronym>FIPS</acronym> mode behavior. -</para> -</listitem> + <para> + This is useful for guaranteeing <acronym>FIPS</acronym> mode behavior. + </para> + </listitem> </itemizedlist> </sect4> |