diff options
-rw-r--r-- | doc/src/sgml/release-14.sgml | 3649 |
1 files changed, 2094 insertions, 1555 deletions
diff --git a/doc/src/sgml/release-14.sgml b/doc/src/sgml/release-14.sgml index 372abff0ac3..08cb0676805 100644 --- a/doc/src/sgml/release-14.sgml +++ b/doc/src/sgml/release-14.sgml @@ -51,22 +51,25 @@ <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-08-08 [20e7e1fe3] Remove <@ from contrib/intarray's GiST operator classes. --> -<para> -Prevent the containment operators (<@ and @>) for <xref linkend="intarray"/> from using GiST indexes (Tom Lane) -</para> + <para> + Prevent the containment operators (<@ and @>) for <xref + linkend="intarray"/> from using GiST indexes (Tom Lane) + </para> -<para> -Previously a full GiST index scan was required, so just avoid that and scan the heap, which is faster. Indexes created for this purpose should be removed. -</para> -</listitem> + <para> + Previously a full GiST index scan was required, so just avoid + that and scan the heap, which is faster. Indexes created for this + purpose should be removed. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-11-03 [2f70fdb06] Remove deprecated containment operators for built-in typ @@ -74,49 +77,63 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-05 [112d411fb] Remove deprecated containment operators for contrib type --> -<para> -Remove deprecated containment operators @ and ~ for built-in <link linkend="functions-geometry">geometric data types</link> and contrib modules <xref linkend="cube"/>, <xref linkend="hstore"/>, -<xref linkend="intarray"/>, and <xref linkend="seg"/> (Justin Pryzby) -</para> + <para> + Remove deprecated containment operators @ and ~ for built-in + <link linkend="functions-geometry">geometric data types</link> and + contrib modules <xref linkend="cube"/>, <xref linkend="hstore"/>, + <xref linkend="intarray"/>, and <xref linkend="seg"/> (Justin Pryzby) + </para> -<para> -The more consistent <@ and @> have been recommended for many years. -</para> -</listitem> + <para> + The more consistent <@ and @> have been recommended for + many years. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2021-01-31 [0c4f355c6] Fix parsing of complex morphs to tsquery --> -<para> -Fix <link linkend="functions-textsearch"><function>to_tsquery()</function></link> and <function>websearch_to_tsquery()</function> to properly parse query text containing discarded tokens (Alexander Korotkov) -</para> + <para> + Fix <link + linkend="functions-textsearch"><function>to_tsquery()</function></link> + and <function>websearch_to_tsquery()</function> to properly parse + query text containing discarded tokens (Alexander Korotkov) + </para> -<para> -Certain discarded tokens, like underscore, caused the output of these functions to produce incorrect tsquery output, e.g., both websearch_to_tsquery('"pg_class pg"') and to_tsquery('pg_class <-> -pg') used to output '( pg & class ) <-> pg', but now both output 'pg <-> class <-> pg'. -</para> -</listitem> + <para> + Certain discarded tokens, like underscore, caused the output of + these functions to produce incorrect tsquery output, e.g., both + websearch_to_tsquery('"pg_class pg"') and to_tsquery('pg_class + <-> pg') used to output '( pg & class ) <-> pg', + but now both output 'pg <-> class <-> pg'. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2021-05-03 [eb086056f] Make websearch_to_tsquery() parse text in quotes as a si --> -<para> -Fix <link linkend="functions-textsearch"><function>websearch_to_tsquery()</function></link> to properly parse multiple adjacent discarded tokens in quotes (Alexander Korotkov) -</para> + <para> + Fix <link + linkend="functions-textsearch"><function>websearch_to_tsquery()</function></link> + to properly parse multiple adjacent discarded tokens in quotes + (Alexander Korotkov) + </para> -<para> -Previously, quoted text that contained multiple adjacent discarded tokens were treated as multiple tokens, causing incorrect tsquery output, e.g., websearch_to_tsquery('"aaa: bbb"') used to output -'aaa <2> bbb', but now outputs 'aaa <-> bbb'. -</para> -</listitem> + <para> + Previously, quoted text that contained multiple adjacent discarded + tokens were treated as multiple tokens, causing incorrect tsquery + output, e.g., websearch_to_tsquery('"aaa: bbb"') used to output + 'aaa <2> bbb', but now outputs 'aaa <-> bbb'. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-10 [c7eab0e97] Change default of password_encryption to scram-sha-256 @@ -124,33 +141,45 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-10 [c7eab0e97] Change default of password_encryption to scram-sha-256 --> -<para> -Change the default of the <xref linkend="guc-password-encryption"/> server parameter to <literal>scram-sha-256</literal> (Peter Eisentraut) -</para> + <para> + Change the default of the <xref linkend="guc-password-encryption"/> + server parameter to <literal>scram-sha-256</literal> (Peter + Eisentraut) + </para> -<para> -Previously it was <literal>md5</literal>. All new passwords will be stored as SHA256 unless this server variable is changed or the password is specified in md5 format. -Also, the legacy (and undocumented) boolean-like values which were previously synonyms for <literal>md5</literal> are no longer accepted. -</para> -</listitem> + <para> + Previously it was <literal>md5</literal>. All new passwords will + be stored as SHA256 unless this server variable is changed or + the password is specified in md5 format. Also, the legacy (and + undocumented) boolean-like values which were previously synonyms + for <literal>md5</literal> are no longer accepted. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Bruce Momjian <bruce@momjian.us> 2020-10-05 [253f1025d] Overhaul pg_hba.conf clientcert's API --> -<para> -Overhaul the specification of <literal>clientcert</literal> in <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> (Kyotaro Horiguchi) -</para> + <para> + Overhaul the specification of <literal>clientcert</literal> in <link + linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> + (Kyotaro Horiguchi) + </para> -<para> -Values <literal>1</literal>/<literal>0</literal>/<literal>no-verify</literal> are no longer supported; only the strings <literal>verify-ca</literal> and <literal>verify-full</literal> can be used. Also, disallow <literal>verify-ca</literal> if cert -authentication is enabled since cert requires <literal>verify-full</literal> checking. -</para> -</listitem> + <para> + Values + <literal>1</literal>/<literal>0</literal>/<literal>no-verify</literal> + are no longer supported; only the strings + <literal>verify-ca</literal> and <literal>verify-full</literal> + can be used. Also, disallow <literal>verify-ca</literal> if cert + authentication is enabled since cert requires + <literal>verify-full</literal> checking. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-03-09 [f9264d152] Remove support for SSL compression @@ -158,192 +187,224 @@ Author: Michael Paquier <michael@paquier.xyz> 2021-03-10 [0ba71107e] Revert changes for SSL compression in libpq --> -<para> -Remove support for <link linkend="runtime-config-connection-ssl"><acronym>SSL</acronym></link> compression (Daniel Gustafsson, Michael Paquier) -</para> + <para> + Remove support for <link + linkend="runtime-config-connection-ssl"><acronym>SSL</acronym></link> + compression (Daniel Gustafsson, Michael Paquier) + </para> -<para> -This was already disabled by default in previous Postgres releases, and most modern OpenSSL and <acronym>TLS</acronym> versions no longer support it. -</para> -</listitem> + <para> + This was already disabled by default in previous Postgres releases, + and most modern OpenSSL and <acronym>TLS</acronym> versions no + longer support it. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2021-03-04 [3174d69fb] Remove server and libpq support for old FE/BE protocol v --> -<para> -Remove server and <link linkend="libpq">libpq</link> support for the version 2 <link linkend="protocol">wire protocol</link> (Heikki Linnakangas) -</para> + <para> + Remove server and <link linkend="libpq">libpq</link> support + for the version 2 <link linkend="protocol">wire protocol</link> + (Heikki Linnakangas) + </para> -<para> -This was last used as the default in Postgres 7.2 (year 2002). -</para> -</listitem> + <para> + This was last used as the default in Postgres 7.2 (year 2002). + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-04-06 [a2da77cdb] Change return type of EXTRACT to numeric --> -<para> -Change <link linkend="functions-datetime"><function>EXTRACT</function></link> to return the <type>NUMERIC</type> data type (Peter Eisentraut) -</para> + <para> + Change <link + linkend="functions-datetime"><function>EXTRACT</function></link> + to return the <type>NUMERIC</type> data type (Peter Eisentraut) + </para> -<para> -<function>EXTRACT(date)</function> now throws an error for units that are not part of the date data type. -</para> -</listitem> + <para> + <function>EXTRACT(date)</function> now throws an error for units + that are not part of the date data type. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-20 [a4faef8f8] Fix some corner cases for window ranges with infinite of --> -<para> -Fix handling of infinite <link linkend="syntax-window-functions">window function</link> ranges (Tom Lane) -</para> + <para> + Fix handling of infinite <link + linkend="syntax-window-functions">window function</link> ranges + (Tom Lane) + </para> -<para> -Previously window frame clauses like <literal>'inf' PRECEDING AND 'inf' FOLLOWING</literal> returned incorrect results. -</para> -</listitem> + <para> + Previously window frame clauses like <literal>'inf' PRECEDING AND + 'inf' FOLLOWING</literal> returned incorrect results. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-11-25 [f73999262] tablefunc: Reject negative number of tuples passed to no --> -<para> -Prevent <xref linkend="tablefunc"/>'s function <function>normal_rand()</function> from accepting negative values (Ashutosh Bapat) -</para> + <para> + Prevent <xref linkend="tablefunc"/>'s function + <function>normal_rand()</function> from accepting negative values + (Ashutosh Bapat) + </para> -<para> -Negative values produced undesirable results. -</para> -</listitem> + <para> + Negative values produced undesirable results. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-06-13 [23cbeda50] Sync behavior of var_samp and stddev_samp for single NaN --> -<para> -Change <link linkend="functions-aggregate"><function>var_samp()</function></link> and <function>stddev_samp()</function> with numeric parameters to return NULL for a single NaN value (Tom Lane) -</para> + <para> + Change <link + linkend="functions-aggregate"><function>var_samp()</function></link> + and <function>stddev_samp()</function> with numeric parameters to + return NULL for a single NaN value (Tom Lane) + </para> -<para> -Previously <literal>NaN</literal> was returned. -</para> -</listitem> + <para> + Previously <literal>NaN</literal> was returned. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-17 [76f412ab3] Remove factorial operators, leaving only the factorial() --> -<para> -Remove factorial operators <literal>!</literal> and <literal>!!</literal> (Mark Dilger) -</para> + <para> + Remove factorial operators <literal>!</literal> and + <literal>!!</literal> (Mark Dilger) + </para> -<para> -The <link linkend="functions-math"><function>factorial()</function></link> function is still supported. Also remove function <function>numeric_fac()</function>. -</para> -</listitem> + <para> + The <link + linkend="functions-math"><function>factorial()</function></link> + function is still supported. Also remove function + <function>numeric_fac()</function>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-18 [0a40563ea] Disallow factorial of negative numbers --> -<para> -Disallow <function>factorial()</function> of negative numbers (Peter Eisentraut) -</para> + <para> + Disallow <function>factorial()</function> of negative numbers + (Peter Eisentraut) + </para> -<para> -Previously such cases returned 1. -</para> -</listitem> + <para> + Previously such cases returned 1. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-17 [1ed6b8956] Remove support for postfix (right-unary) operators. --> -<para> -Remove support for <link linkend="sql-createoperator">postfix</link> (right-unary) operators (Mark Dilger) -</para> + <para> + Remove support for <link linkend="sql-createoperator">postfix</link> + (right-unary) operators (Mark Dilger) + </para> -<para> -<application>pg_dump</application> and <application>pg_upgrade</application> will warn if postfix operators are being dumped. -</para> -</listitem> + <para> + <application>pg_dump</application> and + <application>pg_upgrade</application> will warn if postfix operators + are being dumped. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-02-25 [7dc13a0f0] Change regex \D and \W shorthands to always match newlin --> -<para> -Allow <literal>\D</literal> and <literal>\W</literal> shorthands to match newlines in <link linkend="functions-similarto-regexp">regular expression</link> newline-sensitive mode (Tom Lane) -</para> + <para> + Allow <literal>\D</literal> and <literal>\W</literal> shorthands to + match newlines in <link linkend="functions-similarto-regexp">regular + expression</link> newline-sensitive mode (Tom Lane) + </para> -<para> -Previously they did not match; <literal>[^[:digit:]]</literal> or <literal>[^[:word:]]</literal> can be used to get the old behavior. -</para> -</listitem> + <para> + Previously they did not match; <literal>[^[:digit:]]</literal> or + <literal>[^[:word:]]</literal> can be used to get the old behavior. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-02 [4aea704a5] Fix semantics of regular expression back-references. --> -<para> -Improve handling of regular expression back-references (Tom Lane) -</para> + <para> + Improve handling of regular expression back-references (Tom Lane) + </para> -<para> -For example, disregard <literal>^</literal> in its expansion in <literal>\1</literal> in <literal>(^\d+).*\1</literal>. -</para> -</listitem> + <para> + For example, disregard <literal>^</literal> in its expansion in + <literal>\1</literal> in <literal>(^\d+).*\1</literal>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-02-25 [2a0af7fe4] Allow complemented character class escapes within regex --> -<para> -Disallow <literal>\w</literal> as range start/end in character classes (Tom Lane) -</para> + <para> + Disallow <literal>\w</literal> as range start/end in character + classes (Tom Lane) + </para> -<para> -This previously was allowed but produced incorrect results. -</para> -</listitem> + <para> + This previously was allowed but produced incorrect results. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-04-07 [3db826bd5] Tighten up allowed names for custom GUC parameters. --> -<para> -Require <link linkend="runtime-config-custom">custom server variable</link> names to match the pattern used for unquoted <acronym>SQL</acronym> identifiers (Tom Lane) -</para> -</listitem> + <para> + Require <link linkend="runtime-config-custom">custom server + variable</link> names to match the pattern used for unquoted + <acronym>SQL</acronym> identifiers (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2021-03-10 [9f3665fbf] Don't consider newly inserted tuples in nbtree VACUUM. @@ -351,31 +412,36 @@ Author: Peter Geoghegan <pg@bowt.ie> 2021-03-11 [effdd3f3b] Add back vacuum_cleanup_index_scale_factor parameter. --> -<para> -Remove server variable <varname>vacuum_cleanup_index_scale_factor</varname> (Peter Geoghegan) -</para> + <para> + Remove server variable + <varname>vacuum_cleanup_index_scale_factor</varname> (Peter Geoghegan) + </para> -<para> -This setting was ignored starting in <productname>PostgreSQL</productname> version 13.3. -</para> -</listitem> + <para> + This setting was ignored starting in + <productname>PostgreSQL</productname> version 13.3. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Joe Conway <mail@joeconway.com> 2021-03-31 [b12bd4869] Fix has_column_privilege function corner case --> -<para> -Return false for <link linkend="functions-info"><function>has_column_privilege()</function></link> checks on non-existent or dropped columns when using attribute numbers (Joe Conway) -</para> + <para> + Return false for <link + linkend="functions-info"><function>has_column_privilege()</function></link> + checks on non-existent or dropped columns when using attribute + numbers (Joe Conway) + </para> -<para> -Previously such attribute numbers returned an invalid column error. -</para> -</listitem> + <para> + Previously such attribute numbers returned an invalid column error. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-10-22 [3dfb1942d] Avoid premature de-doubling of quote marks in ECPG strin @@ -383,62 +449,71 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-10-22 [c16a1bbcf] Add documentation and tests for quote marks in ECPG lite --> -<para> -Pass doubled quote marks in <xref linkend="ecpg"/> <acronym>SQL</acronym> command strings literally (Tom Lane) -</para> + <para> + Pass doubled quote marks in <xref linkend="ecpg"/> + <acronym>SQL</acronym> command strings literally (Tom Lane) + </para> -<para> -Previously <literal>'abc''def'</literal> was passed to the server as <literal>'abc'def'</literal>, and <literal>"abc""def"</literal> was passed as <literal>"abc"def"</literal>. -</para> -</listitem> + <para> + Previously <literal>'abc''def'</literal> was passed to the server + as <literal>'abc'def'</literal>, and <literal>"abc""def"</literal> + was passed as <literal>"abc"def"</literal>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-11 [5333e014a] Remove deprecated syntax from CREATE/DROP LANGUAGE --> -<para> -Disallow single-quoting of the language name in the <link linkend="sql-createlanguage"><command>CREATE/DROP LANGUAGE</command></link> command (Peter Eisentraut) -</para> -</listitem> + <para> + Disallow single-quoting of the language name in the + <link linkend="sql-createlanguage"><command>CREATE/DROP + LANGUAGE</command></link> command (Peter Eisentraut) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2021-01-29 [514b411a2] Retire pg_standby. --> -<para> -Remove contrib program <application>pg_standby</application> (Justin Pryzby) -</para> -</listitem> + <para> + Remove contrib program <application>pg_standby</application> + (Justin Pryzby) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-07 [f3faf35f3] Don't create pg_type entries for sequences or toast tabl --> -<para> -Remove <link linkend="xfunc-sql-composite-functions">composite types</link> for sequences or toast tables (Tom Lane) -</para> -</listitem> + <para> + Remove <link linkend="xfunc-sql-composite-functions">composite + types</link> for sequences or toast tables (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-12-08 [a676386b5] Remove operator_precedence_warning. --> -<para> -Remove <varname>operator_precedence_warning</varname> setting (Tom Lane) -</para> + <para> + Remove <varname>operator_precedence_warning</varname> setting + (Tom Lane) + </para> -<para> -This was needed for warning applications about <productname>PostgreSQL</productname> 9.5 changes. -</para> -</listitem> + <para> + This was needed for warning applications about + <productname>PostgreSQL</productname> 9.5 changes. + </para> + </listitem> </itemizedlist> @@ -448,269 +523,310 @@ This was needed for warning applications about <productname>PostgreSQL</productn <title>Changes</title> <para> - Below you will find a detailed account of the changes between + Below you will find a detailed account of the changes between <productname>PostgreSQL</productname> 14 and the previous major - release. + release. </para> <sect3> <title>Server</title> - <itemizedlist> + <itemizedlist> -<listitem> + <listitem> <!-- Author: Stephen Frost <sfrost@snowman.net> 2021-04-05 [6c3ffd697] Add pg_read_all_data and pg_write_all_data roles --> -<para> -Add predefined roles <link linkend="predefined-roles"><structname>pg_read_all_data</structname></link> and <structname>pg_write_all_data</structname> (Stephen Frost) -</para> + <para> + Add predefined roles <link + linkend="predefined-roles"><structname>pg_read_all_data</structname></link> + and <structname>pg_write_all_data</structname> (Stephen Frost) + </para> -<para> -These non-login roles can be used to give read or write permission to all tables, views, and sequences. -</para> -</listitem> + <para> + These non-login roles can be used to give read or write permission + to all tables, views, and sequences. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Noah Misch <noah@leadboat.com> 2021-03-26 [a14a0118a] Add "pg_database_owner" default role. --> -<para> -Add a predefined role to match the database owner (Noah Misch) -</para> + <para> + Add a predefined role to match the database owner (Noah Misch) + </para> -<para> -It is called <link linkend="predefined-roles"><literal>pg_database_owner</literal></link>; this is useful in template databases. -</para> -</listitem> + <para> + It is called <link + linkend="predefined-roles"><literal>pg_database_owner</literal></link>; + this is useful in template databases. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-03-18 [cd91de0d1] Remove temporary files after backend crash --> -<para> -Remove temporary files after backend crashes (Euler Taveira) -</para> + <para> + Remove temporary files after backend crashes (Euler Taveira) + </para> -<para> -These files were previously retained for debugging purposes; deletion can be disabled with <xref linkend="guc-remove-temp-files-after-crash"/>. -</para> -</listitem> + <para> + These files were previously retained for debugging + purposes; deletion can be disabled with <xref + linkend="guc-remove-temp-files-after-crash"/>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2021-04-03 [c30f54ad7] Detect POLLHUP/POLLRDHUP while running queries. --> -<para> -Allow long-running queries to be canceled if the client disconnects (Sergey Cherkashin, Thomas Munro) -</para> + <para> + Allow long-running queries to be canceled if the client disconnects + (Sergey Cherkashin, Thomas Munro) + </para> -<para> -The server variable <xref linkend="guc-client-connection-check-interval"/> allows some supported operating systems to automatically cancel queries by disconnected clients. -</para> -</listitem> + <para> + The server variable <xref + linkend="guc-client-connection-check-interval"/> allows some + supported operating systems to automatically cancel queries by + disconnected clients. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2021-04-08 [aaf043257] Add functions to wait for backend termination --> -<para> -Add function <link linkend="functions-admin-signal"><function>pg_wait_for_backend_termination()</function></link> that waits for session exit (Bharath Rupireddy) -</para> + <para> + Add function <link + linkend="functions-admin-signal"><function>pg_wait_for_backend_termination()</function></link> + that waits for session exit (Bharath Rupireddy) + </para> -<para> -Also add a similar optional wait parameter to <link linkend="functions-admin-signal"><function>pg_terminate_backend()</function></link> -</para> -</listitem> + <para> + Also add a similar optional wait parameter to <link + linkend="functions-admin-signal"><function>pg_terminate_backend()</function></link> + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Noah Misch <noah@leadboat.com> 2021-03-30 [0ff8bbdee] Accept slightly-filled pages for tuples larger than fill --> -<para> -Allow wide tuples to be always added to almost-empty heap pages (John Naylor, Floris van Nee) -</para> + <para> + Allow wide tuples to be always added to almost-empty heap pages + (John Naylor, Floris van Nee) + </para> -<para> -Previously tuples whose insertion would have exceeded the page's <link linkend="sql-createtable">fill factor</link> were instead added to new pages. -</para> -</listitem> + <para> + Previously tuples whose insertion would have exceeded the page's + <link linkend="sql-createtable">fill factor</link> were instead + added to new pages. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-04-07 [5c55dc8b4] libpq: Set Server Name Indication (SNI) for SSL connecti --> -<para> -Add Set Server Name Indication (<acronym>SNI</acronym>) for <acronym>SSL</acronym> connection packets (Peter Eisentraut) -</para> + <para> + Add Set Server Name Indication (<acronym>SNI</acronym>) for + <acronym>SSL</acronym> connection packets (Peter Eisentraut) + </para> -<para> -This can be disabled by turning off client option <link linkend="libpq-paramkeywords"><literal>sslsni</literal></link>. -</para> -</listitem> + <para> + This can be disabled by turning off client option <link + linkend="libpq-paramkeywords"><literal>sslsni</literal></link>. + </para> + </listitem> - </itemizedlist> + </itemizedlist> <sect4> <title><link linkend="routine-vacuuming">Vacuuming</link></title> <itemizedlist> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2021-04-07 [5100010ee] Teach VACUUM to bypass unnecessary index vacuuming. --> -<para> -Allow vacuum to skip index vacuuming when the number of removable index entries is insignificant (Masahiko Sawada, Peter Geoghegan) -</para> -</listitem> + <para> + Allow vacuum to skip index vacuuming when the number of removable + index entries is insignificant (Masahiko Sawada, Peter Geoghegan) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2021-03-21 [9dd963ae2] Recycle nbtree pages deleted during same VACUUM. --> -<para> -Allow vacuum to eagerly add newly deleted btree pages to the free space map (Peter Geoghegan) -</para> + <para> + Allow vacuum to eagerly add newly deleted btree pages to the free + space map (Peter Geoghegan) + </para> -<para> -Previously vacuum could only place preexisting deleted pages in the free space map. -</para> -</listitem> + <para> + Previously vacuum could only place preexisting deleted pages in + the free space map. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2021-04-07 [3c3b8a4b2] Truncate line pointer array during VACUUM. --> -<para> -Allow vacuum to deallocate space reserved by trailing unused heap line pointers (Matthias van de Meent, Peter Geoghegan) -</para> -</listitem> + <para> + Allow vacuum to deallocate space reserved by trailing unused heap + line pointers (Matthias van de Meent, Peter Geoghegan) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-12-08 [e2ac3fed3] Speed up rechecking if relation needs to be vacuumed or --> -<para> -Speed up vacuuming of databases with many relations (Tatsuhito Kasahara) -</para> -</listitem> + <para> + Speed up vacuuming of databases with many relations (Tatsuhito + Kasahara) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2021-01-27 [e19594c5c] Reduce the default value of vacuum_cost_page_miss. --> -<para> -Reduce the default value of <xref linkend="guc-vacuum-cost-page-miss"/> to better reflects current hardware capabilities (Peter Geoghegan) -</para> -</listitem> + <para> + Reduce the default value of <xref + linkend="guc-vacuum-cost-page-miss"/> to better reflects current + hardware capabilities (Peter Geoghegan) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-02-09 [7cb3048f3] Add option PROCESS_TOAST to VACUUM --> -<para> -Add ability to skip vacuuming of <acronym>TOAST</acronym> tables (Nathan Bossart) -</para> + <para> + Add ability to skip vacuuming of <acronym>TOAST</acronym> tables + (Nathan Bossart) + </para> -<para> -<link linkend="sql-vacuum"><command>VACUUM</command></link> now has a <literal>PROCESS_TOAST</literal> which can be set to false to disable <acronym>TOAST</acronym> processing, and -<link linkend="app-vacuumdb"><application>vacuumdb</application></link> has a <option>--no-process-toast</option> option. -</para> -</listitem> + <para> + <link linkend="sql-vacuum"><command>VACUUM</command></link> + now has a <literal>PROCESS_TOAST</literal> which can be set to + false to disable <acronym>TOAST</acronym> processing, and <link + linkend="app-vacuumdb"><application>vacuumdb</application></link> + has a <option>--no-process-toast</option> option. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-01-17 [7db0cd214] Set PD_ALL_VISIBLE and visibility map bits in COPY FREEZ --> -<para> -Have <link linkend="sql-copy"><command>COPY FREEZE</command></link> appropriately update page visibility bits (Anastasia Lubennikova, Pavan Deolasee, Jeff Janes) -</para> -</listitem> + <para> + Have <link linkend="sql-copy"><command>COPY FREEZE</command></link> + appropriately update page visibility bits (Anastasia Lubennikova, + Pavan Deolasee, Jeff Janes) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2021-04-07 [1e55e7d17] Add wraparound failsafe to VACUUM. --> -<para> -Cause vacuum operations to be aggressive if the table is near xid or multixact wraparound (Masahiko Sawada, Peter Geoghegan) -</para> + <para> + Cause vacuum operations to be aggressive if the table is near + xid or multixact wraparound (Masahiko Sawada, Peter Geoghegan) + </para> -<para> -This is controlled by <xref linkend="guc-vacuum-failsafe-age"/> and <xref linkend="guc-multixact-failsafe-age"/>. -</para> -</listitem> + <para> + This is controlled by <xref linkend="guc-vacuum-failsafe-age"/> + and <xref linkend="guc-multixact-failsafe-age"/>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Noah Misch <noah@leadboat.com> 2020-08-01 [cd5e82256] Change XID and mxact limits to warn at 40M and stop at 3 --> -<para> -Increase warning time and hard limit before transaction id and multi-transaction wraparound (Noah Misch) -</para> + <para> + Increase warning time and hard limit before transaction id and + multi-transaction wraparound (Noah Misch) + </para> -<para> -This should reduce the possibility of failures that occur without having issued warnings about wraparound. -</para> -</listitem> + <para> + This should reduce the possibility of failures that occur without + having issued warnings about wraparound. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2021-04-08 [0827e8af7] autovacuum: handle analyze for partitioned tables --> -<para> -<link linkend="autovacuum">Autovacuum</link> now analyzes partitioned tables (Yuzuko Hosoya, Álvaro Herrera) -</para> + <para> + <link linkend="autovacuum">Autovacuum</link> now analyzes + partitioned tables (Yuzuko Hosoya, Álvaro Herrera) + </para> -<para> -Insert, update, and delete tuple counts from partitions are now propagated to their parent tables so autovacuum knows when to process them. -</para> -</listitem> + <para> + Insert, update, and delete tuple counts from partitions are now + propagated to their parent tables so autovacuum knows when to + process them. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-03-23 [5aed6a1fc] Add per-index stats information in verbose logs of autov --> -<para> -Add per-index information to <link linkend="guc-log-autovacuum-min-duration">autovacuum logging output</link> (Masahiko Sawada) -</para> -</listitem> + <para> + Add per-index information to <link + linkend="guc-log-autovacuum-min-duration">autovacuum logging + output</link> (Masahiko Sawada) + </para> + </listitem> </itemizedlist> </sect4> @@ -720,7 +836,7 @@ Add per-index information to <link linkend="guc-log-autovacuum-min-duration">aut <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-31 [86dc90056] Rework planning and execution of UPDATE and DELETE. @@ -730,44 +846,50 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-04-06 [c5b7ba4e6] Postpone some stuff out of ExecInitModifyTable. --> -<para> -Improve the performance of updates/deletes on partitioned tables when only a few partitions are affected (Amit Langote, Tom Lane) -</para> + <para> + Improve the performance of updates/deletes on partitioned tables + when only a few partitions are affected (Amit Langote, Tom Lane) + </para> -<para> -This also allows updates/deletes on partitioned tables to use execution-time partition pruning. -</para> -</listitem> + <para> + This also allows updates/deletes on partitioned tables to use + execution-time partition pruning. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2021-03-25 [71f4c8c6f] ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY --> -<para> -Allow partitions to be <link linkend="sql-altertable">detached</link> in a non-blocking manner (Álvaro Herrera) -</para> + <para> + Allow partitions to be <link + linkend="sql-altertable">detached</link> in a non-blocking manner + (Álvaro Herrera) + </para> -<para> -The syntax is <command>ALTER TABLE ... DETACH PARTITION ... CONCURRENTLY</command>, and <command>FINALIZE</command>. -</para> -</listitem> + <para> + The syntax is <command>ALTER TABLE ... DETACH PARTITION + ... CONCURRENTLY</command>, and <command>FINALIZE</command>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-28 [2dfa3fea8] Remove complaints about COLLATE clauses in partition bou --> -<para> -Allow the arbitrary collations of partition boundary values (Tom Lane) -</para> + <para> + Allow the arbitrary collations of partition boundary values + (Tom Lane) + </para> -<para> -Previously it had to match the collation of the partition key. -</para> -</listitem> + <para> + Previously it had to match the collation of the partition key. + </para> + </listitem> </itemizedlist> @@ -778,7 +900,7 @@ Previously it had to match the collation of the partition key. <itemizedlist> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2021-01-13 [9dc718bdf] Pass down "logically unchanged index" hint. @@ -786,70 +908,79 @@ Author: Peter Geoghegan <pg@bowt.ie> 2021-01-13 [d168b6668] Enhance nbtree index tuple deletion. --> -<para> -Allow btree index additions to <link linkend="btree-deletion">remove expired index entries</link> to prevent page splits (Peter Geoghegan) -</para> + <para> + Allow btree index additions to <link + linkend="btree-deletion">remove expired index entries</link> + to prevent page splits (Peter Geoghegan) + </para> -<para> -This is particularly helpful for reducing index bloat on tables whose indexed columns are frequently updated. -</para> -</listitem> + <para> + This is particularly helpful for reducing index bloat on tables + whose indexed columns are frequently updated. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-03-26 [ab596105b] BRIN minmax-multi indexes --> -<para> -Allow <link linkend="brin"><acronym>BRIN</acronym></link> indexes to record multiple min/max values per range (Tomas Vondra) -</para> + <para> + Allow <link linkend="brin"><acronym>BRIN</acronym></link> indexes + to record multiple min/max values per range (Tomas Vondra) + </para> -<para> -This is useful if there are groups of values in each page range. -</para> -</listitem> + <para> + This is useful if there are groups of values in each page range. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-03-26 [77b88cd1b] BRIN bloom indexes --> -<para> -Allow <acronym>BRIN</acronym> indexes to use bloom filters (Tomas Vondra) -</para> + <para> + Allow <acronym>BRIN</acronym> indexes to use bloom filters + (Tomas Vondra) + </para> -<para> -This allows bloom indexes to be used effectively with data that is not physically localized in the heap. -</para> -</listitem> + <para> + This allows bloom indexes to be used effectively with data that + is not physically localized in the heap. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2020-09-17 [16fa9b2b3] Add support for building GiST index by sorting. --> -<para> -Allow some <link linkend="gist">GiST</link> indexes to be built by presorting the data (Andrey Borodin) -</para> + <para> + Allow some <link linkend="gist">GiST</link> indexes to be built + by presorting the data (Andrey Borodin) + </para> -<para> -Presorting happens automatically and allows for faster index creation and smaller indexes. -</para> -</listitem> + <para> + Presorting happens automatically and allows for faster index + creation and smaller indexes. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-04-05 [09c1c6ab4] Support INCLUDE'd columns in SP-GiST. --> -<para> -Allow <link linkend="spgist">SP-GiST</link> to use <literal>INCLUDE</literal>'d columns (Pavel Borisov) -</para> -</listitem> + <para> + Allow <link linkend="spgist">SP-GiST</link> to use + <literal>INCLUDE</literal>'d columns (Pavel Borisov) + </para> + </listitem> </itemizedlist> @@ -860,22 +991,24 @@ Allow <link linkend="spgist">SP-GiST</link> to use <literal>INCLUDE</literal>'d <itemizedlist> -<listitem> + <listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2021-04-08 [50e17ad28] Speedup ScalarArrayOpExpr evaluation --> -<para> -Allow hash lookup of <literal>IN</literal> clause with many constants (James Coleman, David Rowley) -</para> + <para> + Allow hash lookup of <literal>IN</literal> clause with many + constants (James Coleman, David Rowley) + </para> -<para> -Previously the only option was to sequentially scan the list of constants. -</para> -</listitem> + <para> + Previously the only option was to sequentially scan the list + of constants. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2020-12-03 [25a9e54d2] Improve estimation of OR clauses using extended statisti @@ -885,56 +1018,70 @@ Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2020-12-08 [4f5760d4a] Improve estimation of ANDs under ORs using extended stat --> -<para> -Increase the number of places <link linkend="planner-stats-extended">extended statistics</link> can be used for <literal>OR</literal> clause estimation (Tomas Vondra, Dean Rasheed) -</para> -</listitem> + <para> + Increase the number of places <link + linkend="planner-stats-extended">extended statistics</link> can + be used for <literal>OR</literal> clause estimation (Tomas Vondra, + Dean Rasheed) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-03-27 [a4d75c86b] Extended statistics on expressions --> -<para> -Allow extended statistics on expressions (Tomas Vondra) -</para> + <para> + Allow extended statistics on expressions (Tomas Vondra) + </para> -<para> -This allows statistics on a group of expressions and columns, rather than only columns like previously. System view <link linkend="view-pg-stats-ext-exprs"><structname>pg_stats_ext_exprs</structname></link> -reports such statistics. <link linkend="sql-altertable"><literal>ALTER TABLE ... ALTER COLUMN ... TYPE RESETS STASTISTICS</literal></link>? -</para> -</listitem> + <para> + This allows statistics on a group of expressions and columns, + rather than only columns like previously. System view <link + linkend="view-pg-stats-ext-exprs"><structname>pg_stats_ext_exprs</structname></link> + reports such statistics. <link + linkend="sql-altertable"><literal>ALTER TABLE ... ALTER COLUMN + ... TYPE RESETS STASTISTICS</literal></link>? + </para> + </listitem> -<listitem> + <listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2021-02-27 [bb437f995] Add TID Range Scans to support efficient scanning ranges --> -<para> -Allow efficient heap scanning of a range of <link linkend="datatype-oid-table"><type>TIDs</type></link> (Edmund Horner, David Rowley) -</para> + <para> + Allow efficient heap scanning of a range of <link + linkend="datatype-oid-table"><type>TIDs</type></link> (Edmund + Horner, David Rowley) + </para> -<para> -Previously a sequential scan was required for non-equality <type>TID</type> specifications. -</para> -</listitem> + <para> + Previously a sequential scan was required for non-equality + <type>TID</type> specifications. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-12-30 [e665769e6] Sanitize IF NOT EXISTS in EXPLAIN for CTAS and matviews --> -<para> -Fix <link linkend="sql-explain"><command>EXPLAIN CREATE TABLE AS</command></link> and <command>EXPLAIN CREATE MATERIALIZED VIEW</command> to honor <literal>IF NOT EXISTS</literal> (Bharath Rupireddy) -</para> + <para> + Fix <link linkend="sql-explain"><command>EXPLAIN CREATE TABLE + AS</command></link> and <command>EXPLAIN CREATE MATERIALIZED + VIEW</command> to honor <literal>IF NOT EXISTS</literal> + (Bharath Rupireddy) + </para> -<para> -Previously, if the object already exists, <command>EXPLAIN</command> would fail. -</para> -</listitem> + <para> + Previously, if the object already exists, + <command>EXPLAIN</command> would fail. + </para> + </listitem> </itemizedlist> @@ -945,7 +1092,7 @@ Previously, if the object already exists, <command>EXPLAIN</command> would fail. <itemizedlist> -<listitem> + <listitem> <!-- Author: Andres Freund <andres@anarazel.de> 2020-08-12 [dc7420c2c] snapshot scalability: Don't compute global horizons whil @@ -961,87 +1108,102 @@ Author: Andres Freund <andres@anarazel.de> 2020-08-17 [623a9ba79] snapshot scalability: cache snapshots using a xact compl --> -<para> -Improve the speed of computing <acronym>MVCC</acronym> <link linkend="mvcc">visibility snapshots</link> on systems with many CPUs and high session counts (Andres Freund) -</para> + <para> + Improve the speed of computing <acronym>MVCC</acronym> <link + linkend="mvcc">visibility snapshots</link> on systems with many + CPUs and high session counts (Andres Freund) + </para> -<para> -This also improves performance when there are many idle sessions. -</para> -</listitem> + <para> + This also improves performance when there are many idle sessions. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2021-04-02 [9eacee2e6] Add Result Cache executor node (take 2) --> -<para> -Add executor method to cache results from the inner-side of nested loop joins (David Rowley) -</para> + <para> + Add executor method to cache results from the inner-side of nested + loop joins (David Rowley) + </para> -<para> -This is useful if only a small percentage of rows is checked on the inner side. -</para> -</listitem> + <para> + This is useful if only a small percentage of rows is checked on + the inner side. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2020-09-15 [62e221e1c] Allow incremental sorts for windowing functions --> -<para> -Allow <link linkend="functions-window">window functions</link> to perform incremental sorts (David Rowley) -</para> -</listitem> + <para> + Allow <link linkend="functions-window">window functions</link> + to perform incremental sorts (David Rowley) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: David Rowley <drowley@postgresql.org> 2020-07-26 [56788d215] Allocate consecutive blocks during parallel seqscans --> -<para> -Improve the I/O performance of parallel sequential scans (Thomas Munro, David Rowley) -</para> + <para> + Improve the I/O performance of parallel sequential scans (Thomas + Munro, David Rowley) + </para> -<para> -This was done by allocating blocks in groups to <link linkend="guc-max-parallel-workers">parallel workers</link>. -</para> -</listitem> + <para> + This was done by allocating blocks in groups to <link + linkend="guc-max-parallel-workers">parallel workers</link>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Etsuro Fujita <efujita@postgresql.org> 2021-03-31 [27e1f1456] Add support for asynchronous execution. --> -<para> -Allow a query referencing multiple <link linkend="sql-createforeigntable">foreign tables</link> to perform foreign table scans in parallel (Robert Haas, Kyotaro Horiguchi, Thomas Munro, Etsuro Fujita) -</para> + <para> + Allow a query referencing multiple <link + linkend="sql-createforeigntable">foreign tables</link> to perform + foreign table scans in parallel (Robert Haas, Kyotaro Horiguchi, + Thomas Munro, Etsuro Fujita) + </para> -<para> -The <link linkend="postgres-fdw"><application>postgres_fdw</application></link> supports these type of scans if <literal>async_capable</literal> is set. -</para> -</listitem> + <para> + The <link + linkend="postgres-fdw"><application>postgres_fdw</application></link> + supports these type of scans if <literal>async_capable</literal> + is set. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Stephen Frost <sfrost@snowman.net> 2021-03-16 [c6fc50cb4] Use pre-fetching for ANALYZE --> -<para> -Allow <link linkend="vacuum-for-statistics">analyze</link> to do page prefetching (Stephen Frost) -</para> + <para> + Allow <link linkend="vacuum-for-statistics">analyze</link> to do + page prefetching (Stephen Frost) + </para> -<para> -This is controlled by <xref linkend="guc-maintenance-io-concurrency"/>. -</para> -</listitem> + <para> + This is controlled by <xref + linkend="guc-maintenance-io-concurrency"/>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-02-20 [08c0d6ad6] Invent "rainbow" arcs within the regex engine. @@ -1067,12 +1229,14 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-05-03 [f68970e33] Fix performance issue in new regex match-all detection c --> -<para> -Improve the performance of <link linkend="functions-similarto-regexp">regular expression</link> comparisons (Tom Lane) -</para> -</listitem> + <para> + Improve the performance of <link + linkend="functions-similarto-regexp">regular expression</link> + comparisons (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-10-11 [80f8eb79e] Use perfect hash for NFC and NFKC Unicode Normalization @@ -1080,29 +1244,36 @@ Author: Michael Paquier <michael@paquier.xyz> 2020-10-23 [783f0cc64] Improve performance of Unicode {de,re}composition in the --> -<para> -Dramatically improve Unicode normalization (John Naylor) -</para> + <para> + Dramatically improve Unicode normalization (John Naylor) + </para> -<para> -This speeds <link linkend="functions-string"><function>normalize()</function></link> and <literal>IS NORMALIZED</literal>. -</para> -</listitem> + <para> + This speeds <link + linkend="functions-string"><function>normalize()</function></link> + and <literal>IS NORMALIZED</literal>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2021-03-19 [bbe0a81db] Allow configurable LZ4 TOAST compression. --> -<para> -Add ability to use <link linkend="sql-createtable">LZ4 compression</link> on <acronym>TOAST</acronym> data (Dilip Kumar) -</para> + <para> + Add ability to use <link linkend="sql-createtable">LZ4 + compression</link> on <acronym>TOAST</acronym> data (Dilip Kumar) + </para> -<para> -This can be set at the column level, or set as a default via server setting <xref linkend="guc-default-toast-compression"/>. The server must be compiled with <link linkend="configure-options-features"><option>--with-lz4</option></link> to support this feature; the default is still pglz. -</para> -</listitem> + <para> + This can be set at the column level, or set as a default via server + setting <xref linkend="guc-default-toast-compression"/>. + The server must be compiled with <link + linkend="configure-options-features"><option>--with-lz4</option></link> + to support this feature; the default is still pglz. + </para> + </listitem> </itemizedlist> @@ -1113,7 +1284,7 @@ This can be set at the column level, or set as a default via server setting <xre <itemizedlist> -<listitem> + <listitem> <!-- Author: Bruce Momjian <bruce@momjian.us> 2021-04-07 [4f0b0966c] Make use of in-core query id added by commit 5fd9dfa5f5 @@ -1127,18 +1298,22 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2021-05-15 [cafde58b3] Allow compute_query_id to be set to 'auto' and make it d --> -<para> -If server variable <xref linkend="guc-compute-query-id"/> is enabled, display the query id in <link linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link>, -<link linkend="sql-explain"><command>EXPLAIN VERBOSE</command></link>, <link linkend="runtime-config-logging">csvlog</link>, and optionally in <xref linkend="guc-log-line-prefix"/> -(Julien Rouhaud) -</para> + <para> + If server variable <xref linkend="guc-compute-query-id"/> + is enabled, display the query id in <link + linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link>, + <link linkend="sql-explain"><command>EXPLAIN + VERBOSE</command></link>, <link + linkend="runtime-config-logging">csvlog</link>, and optionally in + <xref linkend="guc-log-line-prefix"/> (Julien Rouhaud) + </para> -<para> -A query id computed by an extension will also be displayed. -</para> -</listitem> + <para> + A query id computed by an extension will also be displayed. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-08-19 [3e98c0baf] Add pg_backend_memory_contexts system view. @@ -1146,47 +1321,57 @@ Author: Fujii Masao <fujii@postgresql.org> 2020-08-26 [29dd6d8bc] Prevent non-superusers from reading pg_backend_memory_co --> -<para> -Add system view <link linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link> to report session memory usage (Atsushi Torikoshi, Fujii Masao) -</para> -</listitem> + <para> + Add system view <link + linkend="view-pg-backend-memory-contexts"><structname>pg_backend_memory_contexts</structname></link> + to report session memory usage (Atsushi Torikoshi, Fujii Masao) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-04-06 [43620e328] Add function to log the memory contexts of specified bac --> -<para> -Add function <link linkend="functions-admin-signal"><function>pg_log_backend_memory_contexts()</function></link> to output the memory contexts of arbitrary backends (Atsushi Torikoshi) -</para> -</listitem> + <para> + Add function <link + linkend="functions-admin-signal"><function>pg_log_backend_memory_contexts()</function></link> + to output the memory contexts of arbitrary backends (Atsushi + Torikoshi) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Stephen Frost <sfrost@snowman.net> 2021-03-16 [94d13d474] Improve logging of auto-vacuum and auto-analyze --> -<para> -Improve logging of <link linkend="autovacuum">auto-vacuum</link> and auto-analyze (Stephen Frost, Jakub Wartak) -</para> + <para> + Improve logging of <link linkend="autovacuum">auto-vacuum</link> + and auto-analyze (Stephen Frost, Jakub Wartak) + </para> -<para> -This reports I/O timings for auto-vacuum and auto-analyze if <xref linkend="guc-track-io-timing"/> is enabled. Also, report buffer read and dirty rates for auto-analyze. -</para> -</listitem> + <para> + This reports I/O timings for auto-vacuum and auto-analyze if <xref + linkend="guc-track-io-timing"/> is enabled. Also, report buffer + read and dirty rates for auto-analyze. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-04-07 [9afffcb83] Add some information about authenticated identity via lo --> -<para> -Add information about the original user name supplied by the client to the output of <xref linkend="guc-log-connections"/> (Jacob Champion) -</para> -</listitem> + <para> + Add information about the original user name supplied by the + client to the output of <xref linkend="guc-log-connections"/> + (Jacob Champion) + </para> + </listitem> </itemizedlist> @@ -1197,7 +1382,7 @@ Add information about the original user name supplied by the client to the outpu <itemizedlist> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-01-06 [8a4f618e7] Report progress of COPY commands @@ -1205,45 +1390,55 @@ Author: Michael Paquier <michael@paquier.xyz> 2021-03-09 [9d2d45700] Add support for more progress reporting in COPY --> -<para> -Add view <link linkend="copy-progress-reporting"><structname>pg_stat_progress_copy</structname></link> to report <command>COPY</command> progress (Josef Šimánek, Matthias van de Meent) -</para> -</listitem> + <para> + Add view <link + linkend="copy-progress-reporting"><structname>pg_stat_progress_copy</structname></link> + to report <command>COPY</command> progress (Josef Šimánek, + Matthias van de Meent) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2021-01-17 [960869da0] Add pg_stat_database counters for sessions and session t --> -<para> -Add session statistics to the <link linkend="monitoring-pg-stat-database-view"><structname>pg_stat_database</structname></link> system view (Laurenz Albe) -</para> -</listitem> + <para> + Add session statistics to the <link + linkend="monitoring-pg-stat-database-view"><structname>pg_stat_database</structname></link> + system view (Laurenz Albe) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-07-20 [d05b172a7] Add generic_plans and custom_plans fields into pg_prepar --> -<para> -Add columns to <link linkend="view-pg-prepared-statements"><structname>pg_prepared_statements</structname></link> to report generic and custom plan counts (Atsushi Torikoshi, Kyotaro Horiguchi) -</para> -</listitem> + <para> + Add columns to <link + linkend="view-pg-prepared-statements"><structname>pg_prepared_statements</structname></link> + to report generic and custom plan counts (Atsushi Torikoshi, + Kyotaro Horiguchi) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-02-15 [46d6e5f56] Display the time when the process started waiting for th --> -<para> -Add lock wait start time to <link linkend="view-pg-locks"><structname>pg_locks</structname></link> (Atsushi Torikoshi) -</para> -</listitem> + <para> + Add lock wait start time to <link + linkend="view-pg-locks"><structname>pg_locks</structname></link> + (Atsushi Torikoshi) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-10-02 [8d9a93596] Add pg_stat_wal statistics view. @@ -1253,12 +1448,14 @@ Author: Fujii Masao <fujii@postgresql.org> 2021-03-09 [ff99918c6] Track total amounts of times spent writing and syncing W --> -<para> -Add system view <link linkend="monitoring-pg-stat-wal-view"><structname>pg_stat_wal</structname></link> which reports <acronym>WAL</acronym> activity (Masahiro Ikeda) -</para> -</listitem> + <para> + Add system view <link + linkend="monitoring-pg-stat-wal-view"><structname>pg_stat_wal</structname></link> + which reports <acronym>WAL</acronym> activity (Masahiro Ikeda) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2020-10-08 [986816750] Track statistics for spilling of changes from ReorderBuf @@ -1270,62 +1467,76 @@ Author: Amit Kapila <akapila@postgresql.org> 2021-04-16 [f5fc2f5b2] Add information of total data processed to replication s --> -<para> -Add system view <link linkend="monitoring-pg-stat-replication-slots-view"><structname>pg_stat_replication_slots</structname></link> to report replication slot activity (Sawada Masahiko, Amit Kapila, Vignesh C) -</para> + <para> + Add system view <link + linkend="monitoring-pg-stat-replication-slots-view"><structname>pg_stat_replication_slots</structname></link> + to report replication slot activity (Sawada Masahiko, Amit Kapila, + Vignesh C) + </para> -<para> -Function <link linkend="monitoring-stats-functions"><function>pg_stat_reset_replication_slot()</function></link> resets slot statistics. -</para> -</listitem> + <para> + Function <link + linkend="monitoring-stats-functions"><function>pg_stat_reset_replication_slot()</function></link> + resets slot statistics. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-14 [f560209c6] Make walsenders show their replication commands in pg_st --> -<para> -Improve <link linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link> reporting of walsender processes (Tom Lane) -</para> + <para> + Improve <link + linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link> + reporting of walsender processes (Tom Lane) + </para> -<para> -Previously only <acronym>SQL</acronym> commands were reported. -</para> -</listitem> + <para> + Previously only <acronym>SQL</acronym> commands were reported. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-03-15 [d75288fb2] Make archiver process an auxiliary process. --> -<para> -Make the archiver process visible in <structname>pg_stat_activity</structname> (Kyotaro Horiguchi) -</para> -</listitem> + <para> + Make the archiver process visible in + <structname>pg_stat_activity</structname> (Kyotaro Horiguchi) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-03-24 [84007043f] Rename wait event WalrcvExit to WalReceiverExit. --> -<para> -Add wait event <link linkend="monitoring-pg-stat-activity-view"><literal>WalReceiverExit</literal></link> to report <acronym>WAL</acronym> receiver exit wait time (Fujii Masao) -</para> -</listitem> + <para> + Add wait event <link + linkend="monitoring-pg-stat-activity-view"><literal>WalReceiverExit</literal></link> + to report <acronym>WAL</acronym> receiver exit wait time (Fujii + Masao) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-02-17 [f40c6969d] Routine usage information schema tables --> -<para> -Implement information schema view <link linkend="infoschema-routine-column-usage"><structname>routine_column_usage</structname></link> to track columns referenced by function and procedure default expressions (Peter Eisentraut) -</para> -</listitem> + <para> + Implement information schema view <link + linkend="infoschema-routine-column-usage"><structname>routine_column_usage</structname></link> + to track columns referenced by function and procedure default + expressions (Peter Eisentraut) + </para> + </listitem> </itemizedlist> @@ -1336,61 +1547,73 @@ Implement information schema view <link linkend="infoschema-routine-column-usage <itemizedlist> -<listitem> + <listitem> <!-- Author: Andrew Dunstan <andrew@dunslane.net> 2021-03-29 [6d7a6feac] Allow matching the DN of a client certificate for authen --> -<para> -Allow the certificate's distinguished name (<acronym>DN</acronym>) to be matched for client certificate authentication (Andrew Dunstan) -</para> + <para> + Allow the certificate's distinguished name (<acronym>DN</acronym>) + to be matched for client certificate authentication (Andrew + Dunstan) + </para> -<para> -The new <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> keyword <literal>clientname=DN</literal> allows comparison with certificate attributes beyond the <literal>CN</literal> and can be combined with ident maps. -</para> -</listitem> + <para> + The new <link + linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> + keyword <literal>clientname=DN</literal> allows comparison with + certificate attributes beyond the <literal>CN</literal> and can + be combined with ident maps. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-03 [8f8154a50] Allow records to span multiple lines in pg_hba.conf and --> -<para> -Allow <filename>pg_hba.conf</filename> and <link linkend="auth-username-maps"><filename>pg_ident.conf</filename></link> records to span multiple lines (Fabien Coelho) -</para> + <para> + Allow <filename>pg_hba.conf</filename> and <link + linkend="auth-username-maps"><filename>pg_ident.conf</filename></link> + records to span multiple lines (Fabien Coelho) + </para> -<para> -A backslash at the end of a line allows record contents to be continued on the next line. -</para> -</listitem> + <para> + A backslash at the end of a line allows record contents to be + continued on the next line. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-02-18 [f5465fade] Allow specifying CRL directory --> -<para> -Allow the specification of a certificate revocation list (<acronym>CRL</acronym>) directory (Kyotaro Horiguchi) -</para> + <para> + Allow the specification of a certificate revocation list + (<acronym>CRL</acronym>) directory (Kyotaro Horiguchi) + </para> -<para> -This is controlled by server variable <xref linkend="guc-ssl-crl-dir"/> and libpq connection option sslcrldir. Previously only <acronym>CRL</acronym> files could be specified. -</para> -</listitem> + <para> + This is controlled by server variable <xref + linkend="guc-ssl-crl-dir"/> and libpq connection option sslcrldir. + Previously only <acronym>CRL</acronym> files could be specified. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-03 [67a472d71] Remove arbitrary restrictions on password length. --> -<para> -Allow passwords of an arbitrary length (Tom Lane, Nathan Bossart) -</para> -</listitem> + <para> + Allow passwords of an arbitrary length (Tom Lane, Nathan Bossart) + </para> + </listitem> </itemizedlist> @@ -1401,87 +1624,96 @@ Allow passwords of an arbitrary length (Tom Lane, Nathan Bossart) <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-06 [9877374be] Add idle_session_timeout. --> -<para> -Add server setting <xref linkend="guc-idle-session-timeout"/> to close idle sessions (Li Japin) -</para> + <para> + Add server setting <xref linkend="guc-idle-session-timeout"/> + to close idle sessions (Li Japin) + </para> -<para> -This is similar to <xref linkend="guc-idle-in-transaction-session-timeout"/>. -</para> -</listitem> + <para> + This is similar to <xref + linkend="guc-idle-in-transaction-session-timeout"/>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Stephen Frost <sfrost@snowman.net> 2021-03-24 [bbcc4eb2e] Change checkpoint_completion_target default to 0.9 --> -<para> -Change <xref linkend="guc-checkpoint-completion-target"/> default to 0.9 (Stephen Frost) -</para> + <para> + Change <xref linkend="guc-checkpoint-completion-target"/> default + to 0.9 (Stephen Frost) + </para> -<para> -The previous default was 0.5. -</para> -</listitem> + <para> + The previous default was 0.5. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-08-03 [b8fdee7d0] Add %P to log_line_prefix for parallel group leader --> -<para> -Allow %P in <xref linkend="guc-log-line-prefix"/> to report the parallel group leader (Justin Pryzby) -</para> -</listitem> + <para> + Allow %P in <xref linkend="guc-log-line-prefix"/> to report the + parallel group leader (Justin Pryzby) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-11-07 [a05dbf477] Add GUC_LIST_INPUT and GUC_LIST_QUOTE to unix_socket_dir --> -<para> -Allow <xref linkend="guc-unix-socket-directories"/> to specify paths as individual, comma-separated quoted strings (Ian Lawrence Barwick) -</para> + <para> + Allow <xref linkend="guc-unix-socket-directories"/> to specify + paths as individual, comma-separated quoted strings (Ian Lawrence + Barwick) + </para> -<para> -Previously all the paths had to be in a single quoted string. -</para> -</listitem> + <para> + Previously all the paths had to be in a single quoted string. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2020-07-31 [84b1c63ad] Preallocate some DSM space at startup. --> -<para> -Allow startup allocation of dynamic shared memory (Thomas Munro) -</para> + <para> + Allow startup allocation of dynamic shared memory (Thomas Munro) + </para> -<para> -This is controlled by <xref linkend="guc-min-dynamic-shared-memory"/>. This allows more use of huge pages. -</para> -</listitem> + <para> + This is controlled by <xref + linkend="guc-min-dynamic-shared-memory"/>. This allows more + use of huge pages. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2020-07-17 [d2bddc250] Add huge_page_size setting for use on Linux. --> -<para> -Add setting <xref linkend="guc-huge-page-size"/> to control the size of huge pages used on Linux (Odin Ugedal) -</para> -</listitem> + <para> + Add setting <xref linkend="guc-huge-page-size"/> to control the + size of huge pages used on Linux (Odin Ugedal) + </para> + </listitem> </itemizedlist> @@ -1494,33 +1726,39 @@ Add setting <xref linkend="guc-huge-page-size"/> to control the size of huge pag <itemizedlist> -<listitem> + <listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2020-11-12 [9c4f5192f] Allow pg_rewind to use a standby server as the source sy --> -<para> -Allow standby servers to be rewound via <link linkend="app-pgrewind"><application>pg_rewind</application></link> (Heikki Linnakangas) -</para> -</listitem> + <para> + Allow standby servers to be rewound via <link + linkend="app-pgrewind"><application>pg_rewind</application></link> + (Heikki Linnakangas) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-12-02 [942305a36] Allow restore_command parameter to be changed with reloa --> -<para> -Allow <xref linkend="guc-restore-command"/> setting to be changed during a server reload (Sergei Kornilov) -</para> + <para> + Allow <xref linkend="guc-restore-command"/> setting to be changed + during a server reload (Sergei Kornilov) + </para> -<para> -You can also set <varname>restore_command</varname> to an empty string and reload to force recovery to only read from the <link linkend="storage-file-layout"><filename>pg_wal</filename></link> directory. -</para> -</listitem> + <para> + You can also set <varname>restore_command</varname> to an empty + string and reload to force recovery to only read from the <link + linkend="storage-file-layout"><filename>pg_wal</filename></link> + directory. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-01-08 [0650ff230] Add GUC to log long wait times on recovery conflicts. @@ -1528,132 +1766,152 @@ Author: Fujii Masao <fujii@postgresql.org> 2021-01-13 [39b03690b] Log long wait time on recovery conflict when it's resolv --> -<para> -Add server variable <xref linkend="guc-log-recovery-conflict-waits"/> to report long recovery conflict wait times (Bertrand Drouvot, Masahiko Sawada) -</para> -</listitem> + <para> + Add server variable <xref + linkend="guc-log-recovery-conflict-waits"/> to report long recovery + conflict wait times (Bertrand Drouvot, Masahiko Sawada) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-01-18 [15251c0a6] Pause recovery for insufficient parameter settings --> -<para> -Pause recovery if the primary changes its parameters in a way that prevents replay on the hot standby (Peter Eisentraut) -</para> + <para> + Pause recovery if the primary changes its parameters in a way that + prevents replay on the hot standby (Peter Eisentraut) + </para> -<para> -Previously the standby would shut down immediately. -</para> -</listitem> + <para> + Previously the standby would shut down immediately. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2021-03-11 [32fd2b57d] Be clear about whether a recovery pause has taken effect --> -<para> -Add function <link linkend="functions-recovery-control"><function>pg_get_wal_replay_pause_state()</function></link> to report the recovery state (Dilip Kumar) -</para> + <para> + Add function <link + linkend="functions-recovery-control"><function>pg_get_wal_replay_pause_state()</function></link> + to report the recovery state (Dilip Kumar) + </para> -<para> -It gives more detailed information than <link linkend="functions-recovery-control"><function>pg_is_wal_replay_paused()</function></link>, which still exists. -</para> -</listitem> + <para> + It gives more detailed information than <link + linkend="functions-recovery-control"><function>pg_is_wal_replay_paused()</function></link>, + which still exists. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-05 [bf8a662c9] Introduce a new GUC_REPORT setting "in_hot_standby". --> -<para> -Add new server-side variable <xref linkend="guc-in-hot-standby"/> (Haribabu Kommi, Greg Nancarrow, Tom Lane) -</para> -</listitem> + <para> + Add new server-side variable <xref linkend="guc-in-hot-standby"/> + (Haribabu Kommi, Greg Nancarrow, Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2021-01-12 [d6ad34f34] Optimize DropRelFileNodeBuffers() for recovery. --> -<para> -Speed truncation of small tables during recovery on clusters with a large number of shared buffers (Kirk Jamison) -</para> -</listitem> + <para> + Speed truncation of small tables during recovery on clusters with + a large number of shared buffers (Kirk Jamison) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2021-03-20 [61752afb2] Provide recovery_init_sync_method=syncfs. --> -<para> -Allow file system sync at the start of crash recovery on Linux (Thomas Munro) -</para> + <para> + Allow file system sync at the start of crash recovery on Linux + (Thomas Munro) + </para> -<para> -By default, Postgres opens and fsyncs every data file at the start of crash recovery. -This new setting, <xref linkend="guc-recovery-init-sync-method"/><literal>=syncfs</literal>, instead syncs each filesystem used by the database cluster. -This allows for faster recovery on systems with many database files. -</para> -</listitem> + <para> + By default, Postgres opens and fsyncs every data file + at the start of crash recovery. This new setting, <xref + linkend="guc-recovery-init-sync-method"/><literal>=syncfs</literal>, + instead syncs each filesystem used by the database cluster. + This allows for faster recovery on systems with many database files. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-07-12 [b1e48bbe6] Include replication origins in SQL functions for commit --> -<para> -Add function <link linkend="functions-info"><function>pg_xact_commit_timestamp_origin()</function></link> to return the commit timestamp and replication origin of the specified transaction (Movead Li) -</para> -</listitem> + <para> + Add function <link + linkend="functions-info"><function>pg_xact_commit_timestamp_origin()</function></link> + to return the commit timestamp and replication origin of the + specified transaction (Movead Li) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-07-12 [b1e48bbe6] Include replication origins in SQL functions for commit --> -<para> -Add the replication origin to the record returned by <link linkend="functions-info"><function>pg_last_committed_xact()</function></link> (Movead Li) -</para> -</listitem> + <para> + Add the replication origin to the record returned by <link + linkend="functions-info"><function>pg_last_committed_xact()</function></link> + (Movead Li) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-06-14 [cc072641d] Replace superuser check by ACLs for replication origin f --> -<para> -Allow replication <link linkend="functions-replication">origin functions</link> to be controlled using standard function permission controls (Martín Marqués) -</para> + <para> + Allow replication <link linkend="functions-replication">origin + functions</link> to be controlled using standard function permission + controls (Martín Marqués) + </para> -<para> -Previously these functions could only be executed by super-users, and this is still the default. -</para> -</listitem> + <para> + Previously these functions could only be executed by super-users, + and this is still the default. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-11-16 [2945a488a] Make the standby server promptly handle interrupt signal OTHER COMMITS --> -<para> -Improve signal handling reliability (Fujii Masao) -</para> + <para> + Improve signal handling reliability (Fujii Masao) + </para> -<para> -GENERAL ENOUGH? -</para> -</listitem> + <para> + GENERAL ENOUGH? + </para> + </listitem> </itemizedlist> @@ -1662,7 +1920,7 @@ GENERAL ENOUGH? <itemizedlist> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2020-09-03 [464824323] Add support for streaming to built-in logical replicatio @@ -1674,57 +1932,68 @@ Author: Amit Kapila <akapila@postgresql.org> 2020-08-08 [7259736a6] Implement streaming mode in ReorderBuffer. --> -<para> -Allow logical replication to stream long in-progress transactions to subscribers (Tomas Vondra, Dilip Kumar, Amit Kapila, Ajin Cherian, Nikhil Sontakke, Stas Kelvich) -</para> + <para> + Allow logical replication to stream long in-progress transactions + to subscribers (Tomas Vondra, Dilip Kumar, Amit Kapila, Ajin + Cherian, Nikhil Sontakke, Stas Kelvich) + </para> -<para> -Previously transactions that exceeded <xref linkend="guc-logical-decoding-work-mem"/> were written to disk until the transaction completed. -</para> -</listitem> + <para> + Previously transactions that exceeded <xref + linkend="guc-logical-decoding-work-mem"/> were written to disk + until the transaction completed. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2020-07-28 [45fdc9738] Extend the logical decoding output plugin API with strea --> -<para> -Enhance the logical replication <acronym>API</acronym> to allow streaming large in-progress transactions (Tomas Vondra, Dilip Kumar, Amit Kapila) -</para> + <para> + Enhance the logical replication <acronym>API</acronym> to allow + streaming large in-progress transactions (Tomas Vondra, Dilip + Kumar, Amit Kapila) + </para> -<para> -The output functions begin with <link linkend="logicaldecoding-output-plugin-stream-start"><literal>stream</literal></link>. <application>test_decoding</application> also supports these. -</para> -</listitem> + <para> + The output functions begin with <link + linkend="logicaldecoding-output-plugin-stream-start"><literal>stream</literal></link>. + <application>test_decoding</application> also supports these. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2021-02-12 [ce0fdbfe9] Allow multiple xacts during table sync in logical replic --> -<para> -Allow multiple transactions during table sync in logical replication (Peter Smith, Amit Kapila, and Takamichi Osumi) -</para> -</listitem> + <para> + Allow multiple transactions during table sync in logical + replication (Peter Smith, Amit Kapila, and Takamichi Osumi) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2020-07-20 [0bead9af4] Immediately WAL-log subtransaction and top-level XID ass --> -<para> -Immediately <acronym>WAL</acronym>-log subtransaction and top-level <type>XID</type> association (Tomas Vondra, Dilip Kumar, Amit Kapila) -</para> + <para> + Immediately <acronym>WAL</acronym>-log subtransaction and top-level + <type>XID</type> association (Tomas Vondra, Dilip Kumar, Amit + Kapila) + </para> -<para> -This is useful for logical decoding. -</para> -</listitem> + <para> + This is useful for logical decoding. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2020-12-30 [0aa8a01d0] Extend the output plugin API to allow decoding of prepar @@ -1734,81 +2003,92 @@ Author: Amit Kapila <akapila@postgresql.org> 2021-03-03 [19890a064] Add option to enable two_phase commits via pg_create_log --> -<para> -Enhance logical decoding APIs to handle two-phase commits (Ajin Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich) -</para> + <para> + Enhance logical decoding APIs to handle two-phase commits (Ajin + Cherian, Amit Kapila, Nikhil Sontakke, Stas Kelvich) + </para> -<para> -This is controlled via <link linkend="functions-replication"><function>pg_create_logical_replication_slot()</function></link>. -</para> -</listitem> + <para> + This is controlled via <link + linkend="functions-replication"><function>pg_create_logical_replication_slot()</function></link>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2020-07-23 [c55040ccd] WAL Log invalidations at command end with wal_level=logi --> -<para> -Generate <acronym>WAL</acronym> invalidations message during command completion when using logical replication (Dilip Kumar, Tomas Vondra, Amit Kapila) -</para> + <para> + Generate <acronym>WAL</acronym> invalidations message during + command completion when using logical replication (Dilip Kumar, + Tomas Vondra, Amit Kapila) + </para> -<para> -When logical replication is disabled, <acronym>WAL</acronym> invalidation messages are generated at transaction completion. This allows logical streaming of in-progress transactions. -</para> -</listitem> + <para> + When logical replication is disabled, <acronym>WAL</acronym> + invalidation messages are generated at transaction completion. + This allows logical streaming of in-progress transactions. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2020-10-15 [d7eb52d71] Execute invalidation messages for each XLOG_XACT_INVALID --> -<para> -Allow logical decoding to more efficiently process cache invalidation messages (Dilip Kumar) -</para> + <para> + Allow logical decoding to more efficiently process cache + invalidation messages (Dilip Kumar) + </para> -<para> -This allows <link linkend="logicaldecoding">logical decoding</link> to work efficiently in presence of a large amount of <acronym>DDL</acronym>. -</para> -</listitem> + <para> + This allows <link linkend="logicaldecoding">logical decoding</link> + to work efficiently in presence of a large amount of + <acronym>DDL</acronym>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2021-04-06 [ac4645c01] Allow pgoutput to send logical decoding messages. --> -<para> -Allow control over whether logical decoding messages are sent to the replication stream (David Pirotte, Euler Taveira) -</para> -</listitem> + <para> + Allow control over whether logical decoding messages are sent to + the replication stream (David Pirotte, Euler Taveira) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-18 [9de77b545] Allow logical replication to transfer data in binary for --> -<para> -Allow logical replication subscriptions to use binary transfer mode (Dave Cramer) -</para> + <para> + Allow logical replication subscriptions to use binary transfer mode + (Dave Cramer) + </para> -<para> -This is faster than text mode, but slightly less robust. -</para> -</listitem> + <para> + This is faster than text mode, but slightly less robust. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Amit Kapila <akapila@postgresql.org> 2021-03-30 [f64ea6dc5] Add a xid argument to the filter_prepare callback for ou --> -<para> -Allow logical decoding to be filtered by xid (Markus Wanner) -</para> -</listitem> + <para> + Allow logical decoding to be filtered by xid (Markus Wanner) + </para> + </listitem> </itemizedlist> </sect4> @@ -1820,67 +2100,76 @@ Allow logical decoding to be filtered by xid (Markus Wanner) <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-18 [06a7c3154] Allow most keywords to be used as column labels without --> -<para> -Reduce the number of keywords that can't be used as column labels without <literal>AS</literal> (Mark Dilger) -</para> + <para> + Reduce the number of keywords that can't be used as column labels + without <literal>AS</literal> (Mark Dilger) + </para> -<para> -There are now 90% fewer restricted keywords. -</para> -</listitem> + <para> + There are now 90% fewer restricted keywords. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-03-31 [055fee7eb] Allow an alias to be attached to a <literal>JOIN ... USING</literal> --> -<para> -Allow an alias to be specified for <literal>JOIN</literal>'s <literal>USING</literal> clause (Peter Eisentraut) -</para> + <para> + Allow an alias to be specified for <literal>JOIN</literal>'s + <literal>USING</literal> clause (Peter Eisentraut) + </para> -<para> -The alias is created by using <literal>AS</literal> after the <literal>USING</literal> clause and represents an alias for the <literal>USING</literal> columns. -</para> -</listitem> + <para> + The alias is created by using <literal>AS</literal> after the + <literal>USING</literal> clause and represents an alias for the + <literal>USING</literal> columns. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-03-18 [be45be9c3] Implement GROUP BY DISTINCT --> -<para> -Allow <literal>DISTINCT</literal> to be added to <literal>GROUP BY</literal> to remove duplicate <literal>GROUPING SET</literal> combinations (Vik Fearing) -</para> + <para> + Allow <literal>DISTINCT</literal> to be added to <literal>GROUP + BY</literal> to remove duplicate <literal>GROUPING SET</literal> + combinations (Vik Fearing) + </para> -<para> -For example, <literal>GROUP BY CUBE (a,b), CUBE (b,c)</literal> will generate duplicate grouping combinations without <literal>DISTINCT</literal>. -</para> -</listitem> + <para> + For example, <literal>GROUP BY CUBE (a,b), CUBE (b,c)</literal> + will generate duplicate grouping combinations without + <literal>DISTINCT</literal>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-22 [17958972f] Allow a multi-row <command>INSERT</command> to specify DEFAULTs for a gener --> -<para> -Properly handle <literal>DEFAULT</literal> values for columns in multi-column inserts (Dean Rasheed) -</para> + <para> + Properly handle <literal>DEFAULT</literal> values for columns in + multi-column inserts (Dean Rasheed) + </para> -<para> -This used to throw an error. -</para> -</listitem> + <para> + This used to throw an error. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-02-01 [3696a600e] SEARCH and CYCLE clauses @@ -1888,29 +2177,33 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2021-02-27 [f4adc41c4] Enhanced cycle mark values --> -<para> -Add <acronym>SQL</acronym>-standard <literal>SEARCH</literal> and <literal>CYCLE</literal> clauses for <link linkend="queries-with">common table expressions</link> (Peter Eisentraut) -</para> + <para> + Add <acronym>SQL</acronym>-standard <literal>SEARCH</literal> + and <literal>CYCLE</literal> clauses for <link + linkend="queries-with">common table expressions</link> (Peter + Eisentraut) + </para> -<para> -This could be accomplished previously using existing syntax. -</para> -</listitem> + <para> + This could be accomplished previously using existing syntax. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-04-13 [6c0373ab7] Allow table-qualified variable names in ON CONFLICT ... --> -<para> -Allow the <literal>WHERE</literal> clause of <literal>ON CONFLICT</literal> to be table-qualified (Tom Lane) -</para> + <para> + Allow the <literal>WHERE</literal> clause of <literal>ON + CONFLICT</literal> to be table-qualified (Tom Lane) + </para> -<para> -Only the target table can be referenced. -</para> -</listitem> + <para> + Only the target table can be referenced. + </para> + </listitem> </itemizedlist> @@ -1921,126 +2214,152 @@ Only the target table can be referenced. <itemizedlist> -<listitem> + <listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2021-03-17 [9e7ccd9ef] Enable parallelism in REFRESH MATERIALIZED VIEW. --> -<para> -Allow <link linkend="sql-refreshmaterializedview"><command>REFRESH MATERIALIZED VIEW</command></link> to use parallelism (Bharath Rupireddy) -</para> -</listitem> + <para> + Allow <link linkend="sql-refreshmaterializedview"><command>REFRESH + MATERIALIZED VIEW</command></link> to use parallelism (Bharath + Rupireddy) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-02-04 [c5b286047] Add TABLESPACE option to REINDEX --> -<para> -Allow <link linkend="sql-reindex"><command>REINDEX</command></link> to change the tablespace of the new index (Alexey Kondratov, Michael Paquier, Justin Pryzby) -</para> + <para> + Allow <link linkend="sql-reindex"><command>REINDEX</command></link> + to change the tablespace of the new index (Alexey Kondratov, + Michael Paquier, Justin Pryzby) + </para> -<para> -This is done by specifying a <literal>TABLESPACE</literal> clause. -</para> -</listitem> + <para> + This is done by specifying a <literal>TABLESPACE</literal> clause. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-09-08 [a6642b3ae] Add support for partitioned tables and indexes in REINDE --> -<para> -Allow <command>REINDEX</command> to process all child tables or indexes of a partitioned relation (Justin Pryzby, Michael Paquier) -</para> -</listitem> + <para> + Allow <command>REINDEX</command> to process all child tables or + indexes of a partitioned relation (Justin Pryzby, Michael Paquier) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-25 [0a0727ccf] Improve performance of binary COPY FROM through better b --> -<para> -Improve the performance of <link linkend="sql-copy"><command>COPY FROM</command></link> in binary mode (Bharath Rupireddy, Amit Langote) -</para> -</listitem> + <para> + Improve the performance of <link linkend="sql-copy"><command>COPY + FROM</command></link> in binary mode (Bharath Rupireddy, Amit + Langote) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-04 [40c24bfef] Improve our ability to regurgitate SQL-syntax function c --> -<para> -Preserve <acronym>SQL</acronym> standard syntax in <link linkend="sql-createview">view definitions</link>, if possible (Tom Lane) -</para> + <para> + Preserve <acronym>SQL</acronym> standard syntax in <link + linkend="sql-createview">view definitions</link>, if possible + (Tom Lane) + </para> -<para> -Previously non-function call <acronym>SQL</acronym> standard syntax, e.g. <link linkend="functions-formatting"><function>EXTRACT</function></link>, were converted to non-<acronym>SQL</acronym> standard function calls. -</para> -</listitem> + <para> + Previously non-function call + <acronym>SQL</acronym> standard syntax, e.g. <link + linkend="functions-formatting"><function>EXTRACT</function></link>, + were converted to non-<acronym>SQL</acronym> standard function + calls. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-01-30 [6aaaa76bb] Allow GRANTED BY clause in normal GRANT and REVOKE state --> -<para> -Add the <acronym>SQL</acronym>-standard clause <literal>GRANTED BY</literal> to <link linkend="sql-grant"><command>GRANT</command></link> and <link linkend="sql-revoke"><command>REVOKE</command></link> (Peter Eisentraut) -</para> -</listitem> + <para> + Add the <acronym>SQL</acronym>-standard + clause <literal>GRANTED BY</literal> to <link + linkend="sql-grant"><command>GRANT</command></link> and <link + linkend="sql-revoke"><command>REVOKE</command></link> (Peter + Eisentraut) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-14 [92bf7e2d0] Provide the OR REPLACE option for CREATE TRIGGER. --> -<para> -Add <literal>OR REPLACE</literal> for <link linkend="sql-createtrigger"><command>CREATE TRIGGER</command></link> (Takamichi Osumi) -</para> + <para> + Add <literal>OR REPLACE</literal> for <link + linkend="sql-createtrigger"><command>CREATE TRIGGER</command></link> + (Takamichi Osumi) + </para> -<para> -This allows pre-existing triggers to be conditionally replaced. -</para> -</listitem> + <para> + This allows pre-existing triggers to be conditionally replaced. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-04-08 [8ff1c9464] Allow TRUNCATE command to truncate foreign tables. --> -<para> -Allow <link linkend="sql-truncate"><command>TRUNCATE</command></link> to operate on foreign tables (Kazutaka Onishi, Kohei KaiGai) -</para> + <para> + Allow <link + linkend="sql-truncate"><command>TRUNCATE</command></link> to + operate on foreign tables (Kazutaka Onishi, Kohei KaiGai) + </para> -<para> -The <link linkend="postgres-fdw"><application>postgres_fdw</application></link> module also now supports this. -</para> -</listitem> + <para> + The <link + linkend="postgres-fdw"><application>postgres_fdw</application></link> + module also now supports this. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-04-06 [82ed7748b] ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION --> -<para> -Allow publications to be more easily added and removed (Japin Li) -</para> + <para> + Allow publications to be more easily added and removed (Japin Li) + </para> -<para> -The new syntax is <link linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION</command></link>. This avoids having to specify all publications to add/remove entries. -</para> -</listitem> + <para> + The new syntax is <link + linkend="sql-altersubscription"><command>ALTER SUBSCRIPTION + ... ADD/DROP PUBLICATION</command></link>. This avoids having to + specify all publications to add/remove entries. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-01-30 [dfb75e478] Add primary keys and unique constraints to system catalo @@ -2048,25 +2367,29 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-02-02 [62f34097c] Build in some knowledge about foreign-key relationships --> -<para> -Add primary keys, unique constraints, and foreign keys to <link linkend="catalogs">system catalogs</link> (Peter Eisentraut) -</para> + <para> + Add primary keys, unique constraints, and foreign keys to <link + linkend="catalogs">system catalogs</link> (Peter Eisentraut) + </para> -<para> -This helps <acronym>GUI</acronym> tools analyze the system tables. -</para> -</listitem> + <para> + This helps <acronym>GUI</acronym> tools analyze the system tables. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-09-17 [45b980570] Allow CURRENT_ROLE where CURRENT_USER is accepted --> -<para> -Allow <link linkend="functions-info"><literal>CURRENT_ROLE</literal></link> every place <literal>CURRENT_USER</literal> is accepted (Peter Eisentraut) -</para> -</listitem> + <para> + Allow <link + linkend="functions-info"><literal>CURRENT_ROLE</literal></link> + every place <literal>CURRENT_USER</literal> is accepted (Peter + Eisentraut) + </para> + </listitem> </itemizedlist> @@ -2077,23 +2400,26 @@ Allow <link linkend="functions-info"><literal>CURRENT_ROLE</literal></link> ever <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-12-09 [c7aba7c14] Support subscripting of arbitrary types, not only arrays --> -<para> -Allow extensions and built-in data types to implement <link linkend="sql-altertype">subscripting</link> (Dmitry Dolgov) -</para> + <para> + Allow extensions and built-in data types to implement <link + linkend="sql-altertype">subscripting</link> (Dmitry Dolgov) + </para> -<para> -Previously subscript handling was hard-coded into the server, so that subscripting could only be applied to array types. This change allows subscript notation to be used to extract or -assign portions of a value of any type for which the concept makes sense. -</para> -</listitem> + <para> + Previously subscript handling was hard-coded into the server, so + that subscripting could only be applied to array types. This change + allows subscript notation to be used to extract or assign portions + of a value of any type for which the concept makes sense. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2021-01-31 [676887a3b] Implementation of subscripting for jsonb @@ -2103,16 +2429,18 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> 2021-01-31 [aa6e46daf] Throw error when assigning jsonb scalar instead of a com --> -<para> -Allow subscripting of <link linkend="datatype-json"><type>JSONB</type></link> (Dmitry Dolgov) -</para> + <para> + Allow subscripting of <link + linkend="datatype-json"><type>JSONB</type></link> (Dmitry Dolgov) + </para> -<para> -<type>JSONB</type> subscripting can be used to extract and assign to portions of <type>JSONB</type> documents. -</para> -</listitem> + <para> + <type>JSONB</type> subscripting can be used to extract and assign + to portions of <type>JSONB</type> documents. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Author: Alexander Korotkov <akorotkov@postgresql.org> 2020-12-20 [6df7a9698] Multirange datatypes @@ -2122,32 +2450,39 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> 2020-12-30 [62097a4cc] Fix selectivity estimation @> (anymultirange, anyrange) --> -<para> -Add support for <link linkend="rangetypes">multirange data types</link> (Paul Jungwirth, Alexander Korotkov) -</para> + <para> + Add support for <link linkend="rangetypes">multirange data + types</link> (Paul Jungwirth, Alexander Korotkov) + </para> -<para> -These are like range data types, but they allow the specification of multiple, ordered, non-overlapping ranges. -All existing range types now also support multirange versions. -</para> -</listitem> + <para> + These are like range data types, but they allow the specification + of multiple, ordered, non-overlapping ranges. All existing range + types now also support multirange versions. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-23 [0cc993278] Rename the "point is strictly above/below point" compari --> -<para> -Add <link linkend="functions-geometry">point operators</link> <<| and |>> to be strictly above/below geometry (Emre Hasegeli) -</para> + <para> + Add <link linkend="functions-geometry">point operators</link> + <<| and |>> to be strictly above/below geometry + (Emre Hasegeli) + </para> -<para> -Previously >^ and <^ were marked as performing this test, but non-point geometric operators used these operators for non-strict comparisons, leading to confusion. The old operators still exist but will be eventually removed. ACCURATE? -</para> -</listitem> + <para> + Previously >^ and <^ were marked as performing this test, but + non-point geometric operators used these operators for non-strict + comparisons, leading to confusion. The old operators still exist + but will be eventually removed. ACCURATE? + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-08 [cbcc8726b] Update snowball @@ -2157,114 +2492,130 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2021-02-19 [678d0e239] Update snowball --> -<para> -Add support for the <link linkend="textsearch-snowball-dictionary">stemming</link> of languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish (Peter Eisentraut) -</para> -</listitem> + <para> + Add support for the <link + linkend="textsearch-snowball-dictionary">stemming</link> of + languages Armenian, Basque, Catalan, Hindi, Serbian, and Yiddish + (Peter Eisentraut) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-23 [83b61319a] Improve behavior of tsearch_readline(), and remove t_rea --> -<para> -Allow <link linkend="textsearch-intro-configurations">tsearch data files</link> to have unlimited line lengths (Tom Lane) -</para> + <para> + Allow <link linkend="textsearch-intro-configurations">tsearch data + files</link> to have unlimited line lengths (Tom Lane) + </para> -<para> -The previous limit was 4k bytes. Also remove function <function>t_readline()</function>. -</para> -</listitem> + <para> + The previous limit was 4k bytes. Also remove function + <function>t_readline()</function>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-22 [a57d312a7] Support infinity and -infinity in the numeric data type. --> -<para> -Add support for infinity and <literal>-infinity</literal> values to the <link linkend="datatype-numeric">numeric data type</link> (Tom Lane) -</para> + <para> + Add support for infinity and <literal>-infinity</literal> values + to the <link linkend="datatype-numeric">numeric data type</link> + (Tom Lane) + </para> -<para> -Floating point data types already supported these. -</para> -</listitem> + <para> + Floating point data types already supported these. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-21 [8597a48d0] Fix FPeq() and friends to get the right answers for infi --> -<para> -Improve the accuracy of floating point computations involving infinity (Tom Lane) -</para> -</listitem> + <para> + Improve the accuracy of floating point computations involving + infinity (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-04 [fac83dbd6] Remove underflow error in float division with infinite d --> -<para> -Have non-zero <link linkend="datatype-float">float values</link> divided by infinity return zero (Kyotaro Horiguchi) -</para> + <para> + Have non-zero <link linkend="datatype-float">float values</link> + divided by infinity return zero (Kyotaro Horiguchi) + </para> -<para> -Previously such operations produced underflow errors. -</para> -</listitem> + <para> + Previously such operations produced underflow errors. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-20 [4fb6aeb4f] Make floating-point "NaN / 0" return NaN instead of rais --> -<para> -Cause floating-point division of NaN by zero to return NaN (Tom Lane) -</para> + <para> + Cause floating-point division of NaN by zero to return NaN + (Tom Lane) + </para> -<para> -Previously this returned an error. Division with Numerics always returned NaN. -</para> -</listitem> + <para> + Previously this returned an error. Division with Numerics always + returned NaN. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-06-30 [9bae7e4cd] Add +(pg_lsn,numeric) and -(pg_lsn,numeric) operators. --> -<para> -Add operators to add and subtract <link linkend="datatype-pg-lsn"><type>LSN</type></link> and numeric (byte) values (Fujii Masao) -</para> -</listitem> + <para> + Add operators to add and subtract <link + linkend="datatype-pg-lsn"><type>LSN</type></link> and numeric + (byte) values (Fujii Masao) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-21 [670c0a1d4] Weaken type-OID-matching checks in array_recv and record --> -<para> -Allow <link linkend="protocol-format-codes">binary data transfer</link> to be more forgiving of array and record <type>OID</type> mismatches (Tom Lane) -</para> -</listitem> + <para> + Allow <link linkend="protocol-format-codes">binary data + transfer</link> to be more forgiving of array and record + <type>OID</type> mismatches (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-06 [f7f70d5e2] Create composite array types for initdb-created relation --> -<para> -Create composite array types for most system relations (Wenjing Zeng) -</para> -</listitem> + <para> + Create composite array types for most system relations (Wenjing + Zeng) + </para> + </listitem> </itemizedlist> @@ -2275,22 +2626,26 @@ Create composite array types for most system relations (Wenjing Zeng) <itemizedlist> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-04-07 [e717a9a18] SQL-standard function body --> -<para> -Allow <acronym>SQL</acronym>-language <link linkend="sql-createfunction">functions</link> and <link linkend="sql-createprocedure">procedures</link> to use <acronym>SQL</acronym>-standard function bodies (Peter Eisentraut) -</para> + <para> + Allow <acronym>SQL</acronym>-language <link + linkend="sql-createfunction">functions</link> and <link + linkend="sql-createprocedure">procedures</link> to use + <acronym>SQL</acronym>-standard function bodies (Peter Eisentraut) + </para> -<para> -Previously only single-quoted or $$-quoted function bodies were supported. -</para> -</listitem> + <para> + Previously only single-quoted or $$-quoted function bodies were + supported. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-10-05 [2453ea142] Support for OUT parameters in procedures @@ -2298,122 +2653,149 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2020-10-27 [9213462c5] Make procedure OUT parameters work with JDBC --> -<para> -Allow <link linkend="sql-createprocedure">procedures</link> to have <literal>OUT</literal> parameters (Peter Eisentraut) -</para> -</listitem> + <para> + Allow <link linkend="sql-createprocedure">procedures</link> to have + <literal>OUT</literal> parameters (Peter Eisentraut) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-04 [9e38c2bb5] Declare assorted array functions using anycompatible not --> -<para> -Allow some array functions to operate on a mix of compatible data types (Tom Lane) -</para> + <para> + Allow some array functions to operate on a mix of compatible data + types (Tom Lane) + </para> -<para> -The functions are <link linkend="functions-array"><function>array_append()</function></link>, <function>array_prepend()</function>, <function>array_cat()</function>, <function>array_position()</function>, -<function>array_positions()</function>, <function>array_remove()</function>, <function>array_replace()</function>, and -<link linkend="functions-math"><function>width_bucket()</function></link>. Previously only identical data types could be used. -</para> -</listitem> + <para> + The functions are <link + linkend="functions-array"><function>array_append()</function></link>, + <function>array_prepend()</function>, + <function>array_cat()</function>, + <function>array_position()</function>, + <function>array_positions()</function>, + <function>array_remove()</function>, + <function>array_replace()</function>, and <link + linkend="functions-math"><function>width_bucket()</function></link>. + Previously only identical data types could be used. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-03 [0a687c8f1] Add trim_array() function. --> -<para> -Add <acronym>SQL</acronym>-standard <link linkend="functions-array"><function>trim_array()</function></link> function (Vik Fearing) -</para> + <para> + Add <acronym>SQL</acronym>-standard <link + linkend="functions-array"><function>trim_array()</function></link> + function (Vik Fearing) + </para> -<para> -This can already be done with array slices. -</para> -</listitem> + <para> + This can already be done with array slices. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-18 [a6cf3df4e] Add bytea equivalents of ltrim() and rtrim(). --> -<para> -Add bytea equivalents of <link linkend="functions-binarystring"><function>ltrim()</function></link> and <function>rtrim()</function> (Joel Jacobson) -</para> -</listitem> + <para> + Add bytea equivalents of <link + linkend="functions-binarystring"><function>ltrim()</function></link> + and <function>rtrim()</function> (Joel Jacobson) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-13 [ec0294fb2] Support negative indexes in split_part(). --> -<para> -Support negative indexes in <link linkend="functions-string"><function>split_part()</function></link> (Nikhil Benesch) -</para> + <para> + Support negative indexes in <link + linkend="functions-string"><function>split_part()</function></link> + (Nikhil Benesch) + </para> -<para> -Negative values start from the last field and count backward. -</para> -</listitem> + <para> + Negative values start from the last field and count backward. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-02 [66f163068] Add string_to_table() function. --> -<para> -Add <link linkend="functions-string"><function>string_to_table()</function></link> function to split a string on delimiters (Pavel Stehule) -</para> + <para> + Add <link + linkend="functions-string"><function>string_to_table()</function></link> + function to split a string on delimiters (Pavel Stehule) + </para> -<para> -This is similar to the <link linkend="functions-string"><function>regexp_split_to_table()</function></link> function. -</para> -</listitem> + <para> + This is similar to the <link + linkend="functions-string"><function>regexp_split_to_table()</function></link> + function. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-03-29 [f37fec837] Add unistr function --> -<para> -Add <link linkend="functions-string"><function>unistr()</function></link> function to allow Unicode characters to be specified as backslash-hex escapes in strings (Pavel Stehule) -</para> + <para> + Add <link + linkend="functions-string"><function>unistr()</function></link> + function to allow Unicode characters to be specified as + backslash-hex escapes in strings (Pavel Stehule) + </para> -<para> -This is similar to how Unicode can be specified in literal string. -</para> -</listitem> + <para> + This is similar to how Unicode can be specified in literal string. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-03-06 [f9a0392e1] Add bit_xor aggregate function --> -<para> -Add <link linkend="functions-aggregate"><function>bit_xor()</function></link> XOR aggregate function (Alexey Bashtanov) -</para> -</listitem> + <para> + Add <link + linkend="functions-aggregate"><function>bit_xor()</function></link> + XOR aggregate function (Alexey Bashtanov) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-03-23 [a6715af1e] Add bit_count SQL function --> -<para> -Add function <link linkend="functions-binarystring"><function>bit_count()</function></link> to return the number of bits set in a bit or byte string (David Fetter) -</para> -</listitem> + <para> + Add function <link + linkend="functions-binarystring"><function>bit_count()</function></link> + to return the number of bits set in a bit or byte string (David + Fetter) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-03-24 [49ab61f0b] Add date_bin function @@ -2421,79 +2803,95 @@ Author: Peter Eisentraut <peter@eisentraut.org> 2021-04-10 [496e58bb0] Improve behavior of date_bin with origin in the future --> -<para> -Add <link linkend="functions-datetime-bin"><function>date_bin()</function></link> function (John Naylor) -</para> + <para> + Add <link + linkend="functions-datetime-bin"><function>date_bin()</function></link> + function (John Naylor) + </para> -<para> -The function <function>date_bin()</function> "bins" the input timestamp into a specified interval aligned with a specified origin. -</para> -</listitem> + <para> + The function <function>date_bin()</function> "bins" the input + timestamp into a specified interval aligned with a specified origin. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-29 [a094c8ff5] Fix make_timestamp[tz] to accept negative years as meani --> -<para> -Allow <link linkend="functions-datetime"><function>make_timestamp()</function></link>/<function>make_timestamptz()</function> to accept negative years (Peter Eisentraut) -</para> + <para> + Allow <link + linkend="functions-datetime"><function>make_timestamp()</function></link>/<function>make_timestamptz()</function> + to accept negative years (Peter Eisentraut) + </para> -<para> -They are interpreted as <literal>BC</literal> years. -</para> -</listitem> + <para> + They are interpreted as <literal>BC</literal> years. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-29 [78c887679] Add current substring regular expression syntax --> -<para> -Add newer regular expression <link linkend="functions-string"><function>substring()</function></link> syntax (Peter Eisentraut) -</para> + <para> + Add newer regular expression <link + linkend="functions-string"><function>substring()</function></link> + syntax (Peter Eisentraut) + </para> -<para> -The new syntax is <literal>SUBSTRING(text SIMILAR pattern ESCAPE escapechar)</literal>. The previous standard syntax was <literal>SUBSTRING(text FROM pattern FOR escapechar)</literal>, and is still supported by Postgres. -</para> -</listitem> + <para> + The new syntax is <literal>SUBSTRING(text SIMILAR pattern ESCAPE + escapechar)</literal>. The previous standard syntax was + <literal>SUBSTRING(text FROM pattern FOR escapechar)</literal>, + and is still supported by Postgres. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-02-25 [2a0af7fe4] Allow complemented character class escapes within regex --> -<para> -Allow complemented character class escapes <link linkend="posix-escape-sequences">\D</link>, <literal>\S</literal>, and <literal>\W</literal> within regex brackets (Tom Lane) -</para> -</listitem> + <para> + Allow complemented character class escapes <link + linkend="posix-escape-sequences">\D</link>, <literal>\S</literal>, + and <literal>\W</literal> within regex brackets (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-02-25 [2a0af7fe4] Allow complemented character class escapes within regex --> -<para> -Add <link linkend="posix-escape-sequences"><literal>[[:word:]]</literal></link> as a character class to match \w (Tom Lane) -</para> -</listitem> + <para> + Add <link + linkend="posix-escape-sequences"><literal>[[:word:]]</literal></link> + as a character class to match \w (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-11-04 [5c292e6b9] Declare lead() and lag() using anycompatible not anyelem --> -<para> -Allow more flexible data types for default values of <link linkend="functions-window"><function>lead()</function></link> and <function>lag()</function> window functions (Vik Fearing) -</para> -</listitem> + <para> + Allow more flexible data types for default values of <link + linkend="functions-window"><function>lead()</function></link> + and <function>lag()</function> window functions (Vik Fearing) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-06-14 [decbe2bfb] Fix behavior of exp() and power() for infinity inputs. @@ -2503,67 +2901,81 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-06-15 [5674eb987] Fix power() for large inputs yet more. --> -<para> -Cause <link linkend="functions-math"><function>exp()</function></link> and <function>power()</function> for negative-infinity exponents to return zero (Tom Lane) -</para> + <para> + Cause <link + linkend="functions-math"><function>exp()</function></link> and + <function>power()</function> for negative-infinity exponents to + return zero (Tom Lane) + </para> -<para> -Previously they often returned underflow errors. -</para> -</listitem> + <para> + Previously they often returned underflow errors. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-07-25 [8a37951ee] Mark built-in coercion functions as leakproof where poss --> -<para> -Mark built-in type coercion functions as leakproof where possible (Tom Lane) -</para> + <para> + Mark built-in type coercion functions as leakproof where possible + (Tom Lane) + </para> -<para> -This allows more use of functions that require type conversion in security-sensitive situations. -</para> -</listitem> + <para> + This allows more use of functions that require type conversion in + security-sensitive situations. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-08 [fed10d4ee] Properly mark pg_stat_get_subscription() as returning a --> -<para> -Mark <function>pg_stat_get_subscription()</function> as returning a set (Tom Lane) -</para> + <para> + Mark <function>pg_stat_get_subscription()</function> as returning + a set (Tom Lane) + </para> -<para> -While it worked in previous releases, it didn't report proper optimizer statistics and couldn't be used in the target list. FUNCTION NOT DOCUMENTED. -</para> -</listitem> + <para> + While it worked in previous releases, it didn't report proper + optimizer statistics and couldn't be used in the target list. + FUNCTION NOT DOCUMENTED. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-13 [5a6f9bce8] Mark inet_server_addr() and inet_server_port() as parall --> -<para> -Prevent <link linkend="functions-info"><function>inet_server_addr()</function></link> and <function>inet_server_port()</function> from being run by parallel workers (Masahiko Sawada) -</para> -</listitem> + <para> + Prevent <link + linkend="functions-info"><function>inet_server_addr()</function></link> + and <function>inet_server_port()</function> from being run by + parallel workers (Masahiko Sawada) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-07-15 [2a10fdc43] Eliminate cache lookup errors in SQL functions for objec --> -<para> -Change <link linkend="functions-info"><function>pg_describe_object()</function></link>, <function>pg_identify_object()</function>, and -<function>pg_identify_object_as_address()</function> to always report helpful error messages for non-existent objects (Michael Paquier) -</para> -</listitem> + <para> + Change <link + linkend="functions-info"><function>pg_describe_object()</function></link>, + <function>pg_identify_object()</function>, and + <function>pg_identify_object_as_address()</function> to always report + helpful error messages for non-existent objects (Michael Paquier) + </para> + </listitem> </itemizedlist> @@ -2574,42 +2986,50 @@ Change <link linkend="functions-info"><function>pg_describe_object()</function>< <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-04 [c9d529848] Re-implement pl/pgsql's expression and assignment parsin --> -<para> -Improve PL/pgSQL's <link linkend="plpgsql-expressions">expression</link> and <link linkend="plpgsql-statements-assignment">assignment</link> parsing (Tom Lane) -</para> + <para> + Improve PL/pgSQL's <link + linkend="plpgsql-expressions">expression</link> and <link + linkend="plpgsql-statements-assignment">assignment</link> parsing + (Tom Lane) + </para> -<para> -This adds nested record and array slicing support. -</para> -</listitem> + <para> + This adds nested record and array slicing support. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-06-12 [2f48ede08] Avoid using a cursor in plpgsql's RETURN QUERY statement --> -<para> -Allow plpgsql's <link linkend="plpgsql-control-structures"><literal>RETURN QUERY</literal></link> to execute its query using parallelism (Tom Lane) -</para> -</listitem> + <para> + Allow plpgsql's <link + linkend="plpgsql-control-structures"><literal>RETURN + QUERY</literal></link> to execute its query using parallelism + (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-25 [ee895a655] Improve performance of repeated CALLs within plpgsql pro --> -<para> -Improve performance of repeated <link linkend="plpgsql-transactions">CALL</link>s within plpgsql procedures (Pavel Stehule, Tom Lane) -</para> -</listitem> + <para> + Improve performance of repeated <link + linkend="plpgsql-transactions">CALL</link>s within plpgsql + procedures (Pavel Stehule, Tom Lane) + </para> + </listitem> </itemizedlist> @@ -2620,22 +3040,24 @@ Improve performance of repeated <link linkend="plpgsql-transactions">CALL</link> <itemizedlist> -<listitem> + <listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2021-03-15 [acb7e4eb6] Implement pipeline mode in libpq --> -<para> -Add <link linkend="libpq-pipeline-sending">pipeline</link> mode to libpq (Craig Ringer, Matthieu Garrigues, Álvaro Herrera) -</para> + <para> + Add <link linkend="libpq-pipeline-sending">pipeline</link> mode + to libpq (Craig Ringer, Matthieu Garrigues, Álvaro Herrera) + </para> -<para> -This allows multiple queries to be sent and only wait for completion when a specific synchronization message is sent. -</para> -</listitem> + <para> + This allows multiple queries to be sent and only wait for completion + when a specific synchronization message is sent. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-02 [d16f8c8e4] Mark default_transaction_read_only as GUC_REPORT. @@ -2643,55 +3065,66 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-02 [ee28cacf6] Extend the abilities of libpq's target_session_attrs par --> -<para> -Enhance libpq's <link linkend="libpq-paramkeywords"><option>target_session_attrs</option></link> parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C, Tom Lane) -</para> + <para> + Enhance libpq's <link + linkend="libpq-paramkeywords"><option>target_session_attrs</option></link> + parameter options (Haribabu Kommi, Greg Nancarrow, Vignesh C, + Tom Lane) + </para> -<para> -New options are <literal>read-only</literal>, <literal>primary</literal>, <literal>standby</literal>, and <literal>prefer-standby</literal>. -</para> -</listitem> + <para> + New options are <literal>read-only</literal>, + <literal>primary</literal>, <literal>standby</literal>, and + <literal>prefer-standby</literal>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2021-03-30 [198b3716d] Improve PQtrace() output format --> -<para> -Improve the output format of libpq's <link linkend="libpq-control"><function>PQtrace()</function></link> (Aya Iwata, Álvaro Herrera) -</para> -</listitem> + <para> + Improve the output format of libpq's <link + linkend="libpq-control"><function>PQtrace()</function></link> + (Aya Iwata, Álvaro Herrera) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-22 [c0cb87fbb] Remove arbitrary line length limit for libpq service fil --> -<para> -Allow the libpq <link linkend="libpq-pgservice">service file</link> to have unlimited line lengths (Daniel Gustafsson) -</para> + <para> + Allow the libpq <link linkend="libpq-pgservice">service file</link> + to have unlimited line lengths (Daniel Gustafsson) + </para> -<para> -The previous limit was 255 bytes. -</para> -</listitem> + <para> + The previous limit was 255 bytes. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Meskes <meskes@postgresql.org> 2021-03-24 [ad8305a43] Add DECLARE STATEMENT command to ECPG --> -<para> -Allow an <literal>ECPG SQL</literal> identifier to be linked to a specific connection (Hayato Kuroda) -</para> + <para> + Allow an <literal>ECPG SQL</literal> identifier to be linked to + a specific connection (Hayato Kuroda) + </para> -<para> -This is done via <link linkend="ecpg-sql-declare-statement"><literal>DECLARE ... STATEMENT</literal></link>. -</para> -</listitem> + <para> + This is done via <link + linkend="ecpg-sql-declare-statement"><literal>DECLARE + ... STATEMENT</literal></link>. + </para> + </listitem> </itemizedlist> @@ -2702,175 +3135,201 @@ This is done via <link linkend="ecpg-sql-declare-statement"><literal>DECLARE ... <itemizedlist> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-03-03 [57e6db706] Add - -tablespace option to reindexdb --> -<para> -Allow <link linkend="app-reindexdb"><application>reindexdb</application></link> to change the tablespace of the new index (Michael Paquier) -</para> + <para> + Allow <link + linkend="app-reindexdb"><application>reindexdb</application></link> + to change the tablespace of the new index (Michael Paquier) + </para> -<para> -This is done by specifying <option>--tablespace</option>. -</para> -</listitem> + <para> + This is done by specifying <option>--tablespace</option>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-06-22 [9550ea302] Add - -no-index-cleanup and - -no-truncate to vacuumdb. --> -<para> -Allow <link linkend="app-vacuumdb"><application>vacuumdb</application></link> to skip index cleanup and truncation (Nathan Bossart) -</para> + <para> + Allow <link + linkend="app-vacuumdb"><application>vacuumdb</application></link> + to skip index cleanup and truncation (Nathan Bossart) + </para> -<para> -The options are <option>--no-index-cleanup</option> and <option>--no-truncate</option>. -</para> -</listitem> + <para> + The options are <option>--no-index-cleanup</option> and + <option>--no-truncate</option>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-03-31 [6568cef26] Add support for - -extension in pg_dump --> -<para> -Allow <link linkend="app-pgdump"><application>pg_dump</application></link> to dump only certain extensions (Guillaume Lelarge) -</para> + <para> + Allow <link + linkend="app-pgdump"><application>pg_dump</application></link> + to dump only certain extensions (Guillaume Lelarge) + </para> -<para> -This is controlled by option <option>--extension</option>. -</para> -</listitem> + <para> + This is controlled by option <option>--extension</option>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2021-04-06 [6b258e3d6] pgbench: Function to generate random permutations. --> -<para> -Add <link linkend="pgbench"><application>pgbench</application></link> <function>permute()</function> function to randomly shuffle values (Fabien Coelho, Hironobu Suzuki, Dean Rasheed) -</para> -</listitem> + <para> + Add <link + linkend="pgbench"><application>pgbench</application></link> + <function>permute()</function> function to randomly shuffle values + (Fabien Coelho, Hironobu Suzuki, Dean Rasheed) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-09-17 [99175141c] Improve common/logging.c's support for multiple verbosit --> -<para> -Allow multiple verbose option specifications (<option>-v</option>) to increase the logging verbosity (Tom Lane) -</para> + <para> + Allow multiple verbose option specifications (<option>-v</option>) + to increase the logging verbosity (Tom Lane) + </para> -<para> -This is now supported by <link linkend="app-pgdump"><application>pg_dump</application></link>, <link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>, -and <link linkend="app-pgrestore"><application>pg_restore</application></link>. -</para> -</listitem> + <para> + This is now supported by <link + linkend="app-pgdump"><application>pg_dump</application></link>, + <link + linkend="app-pg-dumpall"><application>pg_dumpall</application></link>, + and <link + linkend="app-pgrestore"><application>pg_restore</application></link>. + </para> + </listitem> </itemizedlist> <sect4> - <title><xref linkend="app-psql"/></title> + <title><xref linkend="app-psql"/></title> <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-04-07 [a3027e1e7] Allow psql's \df and \do commands to specify argument ty --> -<para> -Allow <application>psql</application>'s \df and \do commands to specify function and operator argument types (Greg Sabino Mullane, Tom Lane) -</para> + <para> + Allow <application>psql</application>'s \df and \do commands to + specify function and operator argument types (Greg Sabino Mullane, + Tom Lane) + </para> -<para> -This helps reduce the number of matches for overloaded entries. -</para> -</listitem> + <para> + This helps reduce the number of matches for overloaded entries. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-09-02 [07f386ede] Add access method names to \d[i|m|t]+ in psql --> -<para> -Add an access method column to <application>psql</application>'s \d[i|m|t]+ output (Georgios Kokolatos) -</para> -</listitem> + <para> + Add an access method column to <application>psql</application>'s + \d[i|m|t]+ output (Georgios Kokolatos) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-05 [7d80441d2] Allow psql's \dt and \di to show TOAST tables and their --> -<para> -Allow <application>psql</application>'s \dt and \di to show <acronym>TOAST</acronym> tables and their indexes (Justin Pryzby) -</para> -</listitem> + <para> + Allow <application>psql</application>'s \dt and \di to show + <acronym>TOAST</acronym> tables and their indexes (Justin Pryzby) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-01-20 [ad600bba0] psql \dX: list extended statistics objects --> -<para> -Add <application>psql</application> command \dX to list extended statistics objects (Tatsuro Yamada) -</para> -</listitem> + <para> + Add <application>psql</application> command \dX to list extended + statistics objects (Tatsuro Yamada) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-04-07 [a3027e1e7] Allow psql's \df and \do commands to specify argument ty --> -<para> -Fix <application>psql</application>'s \dT to understand array syntax and backend grammar aliases, like "int" for "integer" (Greg Sabino Mullane, Tom Lane) -</para> -</listitem> + <para> + Fix <application>psql</application>'s \dT to understand array + syntax and backend grammar aliases, like "int" for "integer" + (Greg Sabino Mullane, Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-04-03 [55873a00e] Improve psql's behavior when the editor is exited withou --> -<para> -When editing the previous query or a file with <application>psql</application>'s \e, or using \ef and \ev, ignore the contents if the editor exits without saving (Laurenz Albe) -</para> + <para> + When editing the previous query or a file with + <application>psql</application>'s \e, or using \ef and \ev, ignore + the contents if the editor exits without saving (Laurenz Albe) + </para> -<para> -Previously, such edits would still execute the editor contents. -</para> -</listitem> + <para> + Previously, such edits would still execute the editor contents. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-10-22 [94929f1cf] Clean up some unpleasant behaviors in psql's \connect co --> -<para> -Improve <application>psql</application>'s handling of \connect with <option>-reuse-previous</option> (Tom Lane) -</para> + <para> + Improve <application>psql</application>'s handling of \connect + with <option>-reuse-previous</option> (Tom Lane) + </para> -<para> -Specifically, properly reuse the password previously specified, and prompt for a new password if the previous one failed. -</para> -</listitem> + <para> + Specifically, properly reuse the password previously specified, + and prompt for a new password if the previous one failed. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-07-21 [c273d9d8c] Rework tab completion of COPY and \copy in psql @@ -2910,10 +3369,11 @@ Author: Michael Paquier <michael@paquier.xyz> 2021-05-13 [1906cc07d] Make saner the tab completion of INSERT and DELETE in ps --> -<para> -Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby, Georgios Kokolatos, Julien Rouhaud, ADD NAMES) -</para> -</listitem> + <para> + Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby, + Georgios Kokolatos, Julien Rouhaud, ADD NAMES) + </para> + </listitem> </itemizedlist> @@ -2926,61 +3386,74 @@ Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby, Georgios Koko <itemizedlist> -<listitem> + <listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2021-03-12 [970609283] Add pg_amcheck, a CLI for contrib/amcheck. --> -<para> -Add command-line utility <link linkend="app-pgamcheck"><application>pg_amcheck</application></link> to simplify running contrib/amcheck operations on many relations (Mark Dilger) -</para> -</listitem> + <para> + Add command-line utility <link + linkend="app-pgamcheck"><application>pg_amcheck</application></link> + to simplify running contrib/amcheck operations on many relations + (Mark Dilger) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2021-01-17 [e09155bd6] Add - -no-instructions parameter to initdb --> -<para> -Add <option>--no-instructions</option> option to <link linkend="app-initdb"><application>initdb</application></link> (Magnus Hagander) -</para> + <para> + Add <option>--no-instructions</option> option to <link + linkend="app-initdb"><application>initdb</application></link> + (Magnus Hagander) + </para> -<para> -This removes the server start instructions that are normally output. -</para> -</listitem> + <para> + This removes the server start instructions that are normally output. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2020-11-09 [8f113698b] Remove analyze_new_cluster script from pg_upgrade --> -<para> -Stop <link linkend="pgupgrade"><application>pg_upgrade</application></link> from creating <filename>analyze_new_cluster</filename> script (Michael Paquier) -</para> + <para> + Stop <link + linkend="pgupgrade"><application>pg_upgrade</application></link> + from creating <filename>analyze_new_cluster</filename> script + (Michael Paquier) + </para> -<para> -Instead, give comparable <link linkend="app-vacuumdb"><application>vacuumdb</application></link> instructions. -</para> -</listitem> + <para> + Instead, give comparable <link + linkend="app-vacuumdb"><application>vacuumdb</application></link> + instructions. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2020-11-10 [d2e4bf688] Remove -o option to postmaster --> -<para> -Remove support for the <link linkend="app-postgres"><application>postmaster</application></link> <option>-o</option> option (Magnus Hagander) -</para> + <para> + Remove support for the <link + linkend="app-postgres"><application>postmaster</application></link> + <option>-o</option> option (Magnus Hagander) + </para> -<para> -This option was unnecessary since all passed options could already be specified directly. -</para> -</listitem> + <para> + This option was unnecessary since all passed options could already + be specified directly. + </para> + </listitem> </itemizedlist> @@ -2991,87 +3464,101 @@ This option was unnecessary since all passed options could already be specified <itemizedlist> -<listitem> + <listitem> <!-- Author: Stephen Frost <sfrost@snowman.net> 2021-04-01 [c9c41c7a3] Rename Default Roles to Predefined Roles --> -<para> -Rename "Default Roles" to <link linkend="predefined-roles">"Predefined Roles"</link> (Bruce Momjian, Stephen Frost) -</para> -</listitem> + <para> + Rename "Default Roles" to <link + linkend="predefined-roles">"Predefined Roles"</link> (Bruce Momjian, + Stephen Frost) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-16 [4c5cf5431] doc: Document factorial function --> -<para> -Add documentation for the <link linkend="function-factorial"><function>factorial()</function></link> function (Peter Eisentraut) -</para> + <para> + Add documentation for the <link + linkend="function-factorial"><function>factorial()</function></link> + function (Peter Eisentraut) + </para> -<para> -With the removal of the ! operator in this release, <function>factorial()</function> is the only built-in way to compute a factorial. -</para> -</listitem> + <para> + With the removal of the ! operator in this release, + <function>factorial()</function> is the only built-in way to compute + a factorial. + </para> + </listitem> - </itemizedlist> + </itemizedlist> - </sect3> + </sect3> - <sect3> - <title>Source Code</title> + <sect3> + <title>Source Code</title> - <itemizedlist> + <itemizedlist> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2021-02-01 [fe61df7f8] Introduce - -with-ssl={openssl} as a configure option --> -<para> -Add configure option <link linkend="configure-options-features"><literal>--with-ssl={openssl}</literal></link> to behave like <option>--with-openssl</option> (Daniel Gustafsson, Michael Paquier) -</para> + <para> + Add configure option <link + linkend="configure-options-features"><literal>--with-ssl={openssl}</literal></link> + to behave like <option>--with-openssl</option> (Daniel Gustafsson, + Michael Paquier) + </para> -<para> -The option <option>--with-openssl</option> is kept for compatibility. -</para> -</listitem> + <para> + The option <option>--with-openssl</option> is kept for + compatibility. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-11-25 [c9f0624bc] Add support for abstract Unix-domain sockets --> -<para> -Add support for <link linkend="guc-unix-socket-directories">abstract Unix-domain sockets</link> (Peter Eisentraut) -</para> + <para> + Add support for <link linkend="guc-unix-socket-directories">abstract + Unix-domain sockets</link> (Peter Eisentraut) + </para> -<para> -This is currently supported on <productname>Linux</productname> and <productname>Windows</productname>. -</para> -</listitem> + <para> + This is currently supported on <productname>Linux</productname> + and <productname>Windows</productname>. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-01-06 [4656e3d66] Replace CLOBBER_CACHE_ALWAYS with run-time GUC --> -<para> -Add <xref linkend="guc-debug-invalidate-system-caches-always"/> to control cache overwriting (Craig Ringer) -</para> + <para> + Add <xref linkend="guc-debug-invalidate-system-caches-always"/> + to control cache overwriting (Craig Ringer) + </para> -<para> -Previously this could only be controlled at compile time and is enabled only in assert builds. -</para> -</listitem> + <para> + Previously this could only be controlled at compile time and is + enabled only in assert builds. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Geoghegan <pg@bowt.ie> 2020-07-17 [1e0dfd166] Add Valgrind buffer access instrumentation. @@ -3081,34 +3568,36 @@ Author: Peter Geoghegan <pg@bowt.ie> 2020-07-19 [a766d6ca2] Avoid harmless Valgrind no-buffer-pin errors. --> -<para> -Various improvements in <productname>valgrind</productname> detection (Álvaro Herrera, Peter Geoghegan) -</para> -</listitem> + <para> + Various improvements in <productname>valgrind</productname> + detection (Álvaro Herrera, Peter Geoghegan) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-01-06 [ca8217c10] Add a test module for the regular expression package. --> -<para> -Add a test module for the regular expression package (Tom Lane) -</para> -</listitem> + <para> + Add a test module for the regular expression package (Tom Lane) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Andres Freund <andres@anarazel.de> 2020-11-09 [6c57f2ed1] jit: Add support for LLVM 12. --> -<para> -Add support for <productname>LLVM</productname> version 12 (Andres Freund) -</para> -</listitem> + <para> + Add support for <productname>LLVM</productname> version 12 + (Andres Freund) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Michael Paquier <michael@paquier.xyz> 2020-12-04 [4f48a6fbe] Change SHA2 implementation based on OpenSSL to use EVP d @@ -3120,62 +3609,69 @@ Author: Michael Paquier <michael@paquier.xyz> 2021-04-03 [e6bdfd970] Refactor HMAC implementations --> -<para> -Change SHA1, SHA2, and MD5 hash computations to use the <productname>OpenSSL</productname> <acronym>EVP API</acronym> (Michael Paquier) -</para> + <para> + Change SHA1, SHA2, and MD5 hash computations to use the + <productname>OpenSSL</productname> <acronym>EVP API</acronym> + (Michael Paquier) + </para> -<para> -This is more modern and supports <acronym>FIPS</acronym> mode. -</para> -</listitem> + <para> + This is more modern and supports <acronym>FIPS</acronym> mode. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2020-11-20 [16f96c74d] Remove ability to independently select random number gen --> -<para> -Remove build control over the random library used (Daniel Gustafsson) -</para> -</listitem> + <para> + Remove build control over the random library used (Daniel + Gustafsson) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2021-01-28 [6c5576075] Add direct conversion routines between EUC_TW and Big5. --> -<para> -Add direct conversion routines between EUC_TW and Big5 (Heikki Linnakangas) -</para> -</listitem> + <para> + Add direct conversion routines between EUC_TW and Big5 (Heikki + Linnakangas) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Thomas Munro <tmunro@postgresql.org> 2020-11-20 [ca051d8b1] Add collation versions for FreeBSD. --> -<para> -Add collation versions for <productname>FreeBSD</productname> (Thomas Munro) -</para> -</listitem> + <para> + Add collation versions for <productname>FreeBSD</productname> + (Thomas Munro) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-08-01 [9f9682783] Invent "amadjustmembers" AM method for validating opclas --> -<para> -Add <link linkend="index-api"><structfield>amadjustmembers</structfield></link> to the index access method <acronym>API</acronym> (Tom Lane) -</para> + <para> + Add <link + linkend="index-api"><structfield>amadjustmembers</structfield></link> + to the index access method <acronym>API</acronym> (Tom Lane) + </para> -<para> -REMOVE? -</para> -</listitem> + <para> + REMOVE? + </para> + </listitem> </itemizedlist> @@ -3186,96 +3682,111 @@ REMOVE? <itemizedlist> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2020-12-11 [0ec5f7e78] Allow subscripting of hstore values. --> -<para> -Allow subscripting of <link linkend="hstore"><application>hstore</application></link> values (Tom Lane, Dmitry Dolgov) -</para> -</listitem> + <para> + Allow subscripting of <link + linkend="hstore"><application>hstore</application></link> values + (Tom Lane, Dmitry Dolgov) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2020-11-15 [935f66665] Handle equality operator in contrib/pg_trgm --> -<para> -Allow GiST/GIN <link linkend="pgtrgm"><application>pg_trgm</application></link> indexes to do equality lookups (Julien Rouhaud) -</para> + <para> + Allow GiST/GIN <link + linkend="pgtrgm"><application>pg_trgm</application></link> indexes + to do equality lookups (Julien Rouhaud) + </para> -<para> -This is similar to <literal>LIKE</literal> except no wildcards are honored. -</para> -</listitem> + <para> + This is similar to <literal>LIKE</literal> except no wildcards + are honored. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Tom Lane <tgl@sss.pgh.pa.us> 2021-03-06 [1265a9c8f] Add binary I/O capability for cube datatype. --> -<para> -Allow the <link linkend="cube"><application>cube</application></link> data type to be transferred in binary mode (KaiGai Kohei) -</para> -</listitem> + <para> + Allow the <link + linkend="cube"><application>cube</application></link> data type + to be transferred in binary mode (KaiGai Kohei) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2020-06-30 [ee0202d55] pgstattuple: Have pgstattuple_approx accept TOAST tables --> -<para> -Allow <function>pgstattuple_approx()</function> to report on <acronym>TOAST</acronym> tables (Peter Eisentraut) -</para> -</listitem> + <para> + Allow <function>pgstattuple_approx()</function> to report on + <acronym>TOAST</acronym> tables (Peter Eisentraut) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2020-09-10 [34a947ca1] New contrib module, pg_surgery, with heap surgery functi --> -<para> -Add contrib module <link linkend="pgsurgery"><application>pg_surgery</application></link> which allows changes to row visibility (Ashutosh Sharma) -</para> + <para> + Add contrib module <link + linkend="pgsurgery"><application>pg_surgery</application></link> + which allows changes to row visibility (Ashutosh Sharma) + </para> -<para> -This is useful for correcting database corruption. -</para> -</listitem> + <para> + This is useful for correcting database corruption. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2020-09-24 [aecf5ee2b] Add new 'old_snapshot' contrib module. --> -<para> -Add contrib module <link linkend="oldsnapshot"><application>old_snapshot</application></link> to report the <type>XID</type>/time mapping used by an active <xref linkend="guc-old-snapshot-threshold"/> (Robert Haas) -</para> -</listitem> + <para> + Add contrib module <link + linkend="oldsnapshot"><application>old_snapshot</application></link> + to report the <type>XID</type>/time mapping used by an active + <xref linkend="guc-old-snapshot-threshold"/> (Robert Haas) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Robert Haas <rhaas@postgresql.org> 2020-10-22 [866e24d47] Extend amcheck to check heap pages. --> -<para> -Allow <link linkend="amcheck"><application>amcheck</application></link> to also check heap pages (Mark Dilger) -</para> + <para> + Allow <link + linkend="amcheck"><application>amcheck</application></link> to + also check heap pages (Mark Dilger) + </para> -<para> -Previously it only checked B-Tree index pages. -</para> -</listitem> + <para> + Previously it only checked B-Tree index pages. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2021-01-13 [756ab2912] Add functions to 'pageinspect' to inspect GiST indexes. @@ -3283,71 +3794,83 @@ Author: Peter Geoghegan <pg@bowt.ie> 2021-02-14 [9e596b65f] Add "LP_DEAD item?" column to GiST pageinspect functions --> -<para> -Allow <link linkend="pageinspect"><application>pageinspect</application></link> to inspect GiST indexes (Andrey Borodin, Heikki Linnakangas) -</para> -</listitem> + <para> + Allow <link + linkend="pageinspect"><application>pageinspect</application></link> + to inspect GiST indexes (Andrey Borodin, Heikki Linnakangas) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Peter Eisentraut <peter@eisentraut.org> 2021-01-19 [f18aa1b20] pageinspect: Change block number arguments to bigint --> -<para> -Change <application>pageinspect</application> block numbers to be <link linkend="datatype-int"><type>bigints</type></link> (Peter Eisentraut) -</para> -</listitem> + <para> + Change <application>pageinspect</application> block numbers + to be <link linkend="datatype-int"><type>bigints</type></link> + (Peter Eisentraut) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Alexander Korotkov <akorotkov@postgresql.org> 2020-07-20 [d98c08cdc] Update btree_gist extension for parallel query --> -<para> -Mark <link linkend="btree-gist"><application>btree_gist</application></link> functions as parallel safe (Steven Winfield) -</para> -</listitem> + <para> + Mark <link + linkend="btree-gist"><application>btree_gist</application></link> + functions as parallel safe (Steven Winfield) + </para> + </listitem> - </itemizedlist> + </itemizedlist> - <sect4> - <title><link linkend="pgstatstatements">pg_stat_statements</link></title> + <sect4> + <title><link linkend="pgstatstatements">pg_stat_statements</link></title> - <itemizedlist> + <itemizedlist> -<listitem> + <listitem> <!-- Author: Bruce Momjian <bruce@momjian.us> 2021-04-07 [5fd9dfa5f] Move pg_stat_statements query jumbling to core. --> -<para> -Move query hash computation from <application>pg_stat_statements</application> to the core server (Julien Rouhaud) -</para> + <para> + Move query hash computation from + <application>pg_stat_statements</application> to the core server + (Julien Rouhaud) + </para> -<para> -The new server variable <xref linkend="guc-compute-query-id"/>'s default of <literal>auto</literal> will automatically enable query id computation when this extension is loaded. -</para> -</listitem> + <para> + The new server variable <xref linkend="guc-compute-query-id"/>'s + default of <literal>auto</literal> will automatically enable query + id computation when this extension is loaded. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Magnus Hagander <magnus@hagander.net> 2021-04-08 [6b4d23fee] Track identical top vs nested queries independently in p --> -<para> -Allow <application>pg_stat_statements</application> to track top and nested statements independently (Julien Rohaud) -</para> + <para> + Allow <application>pg_stat_statements</application> to track top + and nested statements independently (Julien Rohaud) + </para> -<para> -Previously, when tracking all statements, identical top and nested statements were tracked together. -</para> -</listitem> + <para> + Previously, when tracking all statements, identical top and nested + statements were tracked together. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-07-29 [6023b7ea7] pg_stat_statements: track number of rows processed by so @@ -3355,12 +3878,14 @@ Author: Fujii Masao <fujii@postgresql.org> 2020-11-12 [b62e6056a] pg_stat_statements: track number of rows processed by RE --> -<para> -Add row counts for utility commands to <structname>pg_stat_statements</structname>> (Fujii Masao, Katsuragi Yuta, Seino Yuki) -</para> -</listitem> + <para> + Add row counts for utility commands to + <structname>pg_stat_statements</structname>> (Fujii Masao, Katsuragi + Yuta, Seino Yuki) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-11-26 [9fbc3f318] pg_stat_statements: Track number of times pgss entries w @@ -3368,10 +3893,12 @@ Author: Fujii Masao <fujii@postgresql.org> 2020-12-18 [2e0fedf03] pg_stat_statements: Track time at which all statistics w --> -<para> -Add <structname>pg_stat_statements_info</structname> system view to show <structname>pg_stat_statements</structname> activity (Katsuragi Yuta, Yuki Seino, Naoki Nakamichi) -</para> -</listitem> + <para> + Add <structname>pg_stat_statements_info</structname> system view + to show <structname>pg_stat_statements</structname> activity + (Katsuragi Yuta, Yuki Seino, Naoki Nakamichi) + </para> + </listitem> </itemizedlist> @@ -3382,7 +3909,7 @@ Add <structname>pg_stat_statements_info</structname> system view to show <struct <itemizedlist> -<listitem> + <listitem> <!-- Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-01-20 [b663a4136] Implement support for bulk inserts in postgres_fdw @@ -3390,53 +3917,62 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> 2021-02-18 [927f453a9] Fix tuple routing to initialize batching only for insert --> -<para> -Allow <application>postgres_fdw</application> to <command>INSERT</command> rows in bulk (Takayuki Tsunakawa, Tomas Vondra, Amit Langote) -</para> -</listitem> + <para> + Allow <application>postgres_fdw</application> to + <command>INSERT</command> rows in bulk (Takayuki Tsunakawa, Tomas + Vondra, Amit Langote) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-04-07 [a3740c48e] postgres_fdw: Allow partitions specified in LIMIT TO to --> -<para> -Allow <application>postgres_fdw</application> to import table partitions if specified by <link linkend="sql-importforeignschema"><command>IMPORT FOREIGN SCHEMA ... LIMIT TO</command></link> (Matthias van de Meent) -</para> + <para> + Allow <application>postgres_fdw</application> + to import table partitions if specified by <link + linkend="sql-importforeignschema"><command>IMPORT FOREIGN SCHEMA + ... LIMIT TO</command></link> (Matthias van de Meent) + </para> -<para> -By default, only the root of partitioned tables is imported. -</para> -</listitem> + <para> + By default, only the root of partitioned tables is imported. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-01-18 [708d165dd] postgres_fdw: Add function to list cached connections to --> -<para> -Add <application>postgres_fdw</application> function <function>postgres_fdw_get_connections()</function> to report open foreign server connections (Bharath Rupireddy) -</para> -</listitem> + <para> + Add <application>postgres_fdw</application> function + <function>postgres_fdw_get_connections()</function> to report open + foreign server connections (Bharath Rupireddy) + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-04-02 [b1be3074a] postgres_fdw: Add option to control whether to keep conn --> -<para> -Allow control over whether foreign servers keep connections open after transaction completion (Bharath Rupireddy) -</para> + <para> + Allow control over whether foreign servers keep connections open + after transaction completion (Bharath Rupireddy) + </para> -<para> -This is controlled by <varname>keep_connections</varname> and defaults to on. -</para> -</listitem> + <para> + This is controlled by <varname>keep_connections</varname> and + defaults to on. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2020-10-06 [32a9c0bdf] postgres_fdw: reestablish new connection if cached one i @@ -3444,25 +3980,28 @@ Author: Fujii Masao <fujii@postgresql.org> 2020-10-16 [7fc1a81e4] postgres_fdw: Restructure connection retry logic. --> -<para> -Allow <application>postgres_fdw</application> to reestablish foreign server connections if necessary (Bharath Rupireddy) -</para> + <para> + Allow <application>postgres_fdw</application> to reestablish + foreign server connections if necessary (Bharath Rupireddy) + </para> -<para> -Previously foreign server restarts could cause foreign table access errors. -</para> -</listitem> + <para> + Previously foreign server restarts could cause foreign table + access errors. + </para> + </listitem> -<listitem> + <listitem> <!-- Author: Fujii Masao <fujii@postgresql.org> 2021-01-26 [411ae6499] postgres_fdw: Add functions to discard cached connection --> -<para> -Add <application>postgres_fdw</application> functions to discard cached connections (Bharath Rupireddy) -</para> -</listitem> + <para> + Add <application>postgres_fdw</application> functions to discard + cached connections (Bharath Rupireddy) + </para> + </listitem> </itemizedlist> @@ -3476,9 +4015,9 @@ Add <application>postgres_fdw</application> functions to discard cached connecti <title>Acknowledgments</title> <para> - The following individuals (in alphabetical order) have contributed to this - release as patch authors, committers, reviewers, testers, or reporters of - issues. + The following individuals (in alphabetical order) have contributed + to this release as patch authors, committers, reviewers, testers, + or reporters of issues. </para> <simplelist> |