Commit f8dacf12 authored by Tom Lane's avatar Tom Lane

Doc: copy-editing for v14 release notes.

Improve various item descriptions.  Rearrange some things into
(IMO) more logical order.  Fix missing markup and dubious
choices of link destinations.  Drop a couple of items that
were later back-patched or otherwise don't seem to need
to be documented here.
parent 68b6ed42
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
TO BE ADDED
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -54,19 +55,29 @@ ...@@ -54,19 +55,29 @@
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-08-08 [20e7e1fe3] Remove &lt;@ from contrib/intarray's GiST operator classes. 2020-11-04 [9e38c2bb5] Declare assorted array functions using anycompatible not
--> -->
<para> <para>
Prevent the containment operators (<literal>&lt;@</literal> and User-defined objects that reference certain built-in array functions
<literal>@&gt;</literal>) for <xref linkend="intarray"/> from using along with their argument types must be recreated (Tom Lane)
GiST indexes (Tom Lane)
</para> </para>
<para> <para>
Previously a full GiST index scan was required, so just avoid Specifically, <link
that and scan the heap, which is faster. Indexes created for this linkend="functions-array"><function>array_append()</function></link>,
purpose should be removed. <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>
used to take <type>anyarray</type> arguments but now take
<type>anycompatiblearray</type>. Therefore, user-defined objects
like aggregates and operators that reference those array function
signatures must be dropped before upgrading, and recreated once the
upgrade completes.
</para> </para>
</listitem> </listitem>
...@@ -87,8 +98,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -87,8 +98,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
The more consistent &lt;@ and @&gt; have been recommended for The more consistently named <literal>&lt;@</literal>
many years. and <literal>@&gt;</literal> have been recommended for many years.
</para> </para>
</listitem> </listitem>
...@@ -129,7 +140,7 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> ...@@ -129,7 +140,7 @@ Author: Alexander Korotkov <akorotkov@postgresql.org>
<para> <para>
Previously, quoted text that contained multiple adjacent discarded Previously, quoted text that contained multiple adjacent discarded
tokens were treated as multiple tokens, causing incorrect tsquery tokens was treated as multiple tokens, causing incorrect tsquery
output, e.g., <literal>websearch_to_tsquery('"aaa: bbb"')</literal> used to output output, e.g., <literal>websearch_to_tsquery('"aaa: bbb"')</literal> used to output
<literal>'aaa' &lt;2&gt; 'bbb'</literal>, but now outputs <literal>'aaa' &lt;-&gt; 'bbb'</literal>. <literal>'aaa' &lt;2&gt; 'bbb'</literal>, but now outputs <literal>'aaa' &lt;-&gt; 'bbb'</literal>.
</para> </para>
...@@ -138,341 +149,348 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> ...@@ -138,341 +149,348 @@ Author: Alexander Korotkov <akorotkov@postgresql.org>
<listitem> <listitem>
<!-- <!--
Author: Peter Eisentraut <peter@eisentraut.org> Author: Peter Eisentraut <peter@eisentraut.org>
2020-06-10 [c7eab0e97] Change default of password_encryption to scram-sha-256 2021-04-06 [a2da77cdb] Change return type of EXTRACT to numeric
Author: Peter Eisentraut <peter@eisentraut.org>
2020-06-10 [c7eab0e97] Change default of password_encryption to scram-sha-256
--> -->
<para> <para>
Change the default of the <xref linkend="guc-password-encryption"/> Change <link
server parameter to <literal>scram-sha-256</literal> (Peter linkend="functions-datetime"><function>EXTRACT()</function></link>
Eisentraut) to return type <type>numeric</type> instead of <type>float8</type>
(Peter Eisentraut)
</para> </para>
<para> <para>
Previously it was <literal>md5</literal>. All new passwords will This avoids loss-of-precision issues in some usages. The old
be stored as SHA256 unless this server variable is changed or behavior can still be obtained by using the old underlying function
the password is specified in md5 format. Also, the legacy (and <function>date_part()</function>.
undocumented) Boolean-like values which were previously synonyms </para>
for <literal>md5</literal> are no longer accepted.
<para>
Also, <function>EXTRACT(date)</function> now throws an error for units
that are not part of the <type>date</type> data type.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Bruce Momjian <bruce@momjian.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-10-05 [253f1025d] Overhaul pg_hba.conf clientcert's API 2020-06-13 [23cbeda50] Sync behavior of var_samp and stddev_samp for single NaN
--> -->
<para> <para>
Overhaul the specification of <literal>clientcert</literal> in <link Change <link
linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> linkend="functions-aggregate"><function>var_samp()</function></link>
(Kyotaro Horiguchi) and <function>stddev_samp()</function> with numeric parameters to
return NULL when the input is a single NaN value (Tom Lane)
</para> </para>
<para> <para>
Values Previously <literal>NaN</literal> was returned.
<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> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Michael Paquier <michael@paquier.xyz> Author: Joe Conway <mail@joeconway.com>
2021-03-09 [f9264d152] Remove support for SSL compression 2021-03-31 [b12bd4869] Fix has_column_privilege function corner case
Author: Michael Paquier <michael@paquier.xyz>
2021-03-10 [0ba71107e] Revert changes for SSL compression in libpq
--> -->
<para> <para>
Remove support for <link Return false for <link
linkend="runtime-config-connection-ssl"><acronym>SSL</acronym></link> linkend="functions-info"><function>has_column_privilege()</function></link>
compression (Daniel Gustafsson, Michael Paquier) checks on non-existent or dropped columns when using attribute
numbers (Joe Conway)
</para> </para>
<para> <para>
This was already disabled by default in previous Previously such attribute numbers returned an invalid-column error.
<productname>PostgreSQL</productname> releases, and most modern
OpenSSL and <acronym>TLS</acronym> versions no longer support it.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-03-04 [3174d69fb] Remove server and libpq support for old FE/BE protocol v 2020-07-20 [a4faef8f8] Fix some corner cases for window ranges with infinite of
--> -->
<para> <para>
Remove server and <link linkend="libpq">libpq</link> support Fix handling of infinite <link
for the version 2 <link linkend="protocol">wire protocol</link> linkend="syntax-window-functions">window function</link> ranges
(Heikki Linnakangas) (Tom Lane)
</para> </para>
<para> <para>
This was last used as the default in Previously window frame clauses like <literal>'inf' PRECEDING AND
<productname>PostgreSQL</productname> 7.3 (year 2002). 'inf' FOLLOWING</literal> returned incorrect results.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Peter Eisentraut <peter@eisentraut.org> Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-04-06 [a2da77cdb] Change return type of EXTRACT to numeric 2020-09-17 [76f412ab3] Remove factorial operators, leaving only the factorial()
--> -->
<para> <para>
Change <link Remove factorial operators <literal>!</literal> and
linkend="functions-datetime"><function>EXTRACT</function></link> <literal>!!</literal>, as well as function
to return the <type>NUMERIC</type> data type (Peter Eisentraut) <function>numeric_fac()</function> (Mark Dilger)
</para> </para>
<para> <para>
<function>EXTRACT(date)</function> now throws an error for units The <link
that are not part of the <type>date</type> data type. linkend="functions-math"><function>factorial()</function></link>
function is still supported.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Peter Eisentraut <peter@eisentraut.org>
2020-07-20 [a4faef8f8] Fix some corner cases for window ranges with infinite of 2020-06-18 [0a40563ea] Disallow factorial of negative numbers
--> -->
<para> <para>
Fix handling of infinite <link Disallow <function>factorial()</function> of negative numbers
linkend="syntax-window-functions">window function</link> ranges (Peter Eisentraut)
(Tom Lane)
</para> </para>
<para> <para>
Previously window frame clauses like <literal>'inf' PRECEDING AND Previously such cases returned 1.
'inf' FOLLOWING</literal> returned incorrect results.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Peter Eisentraut <peter@eisentraut.org> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-11-25 [f73999262] tablefunc: Reject negative number of tuples passed to no 2020-09-17 [1ed6b8956] Remove support for postfix (right-unary) operators.
--> -->
<para> <para>
Prevent <xref linkend="tablefunc"/>'s function Remove support for <link linkend="sql-createoperator">postfix</link>
<function>normal_rand()</function> from accepting negative values (right-unary) operators (Mark Dilger)
(Ashutosh Bapat)
</para> </para>
<para> <para>
Negative values produced undesirable results. <application>pg_dump</application> and
<application>pg_upgrade</application> will warn if postfix operators
are being dumped.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-13 [23cbeda50] Sync behavior of var_samp and stddev_samp for single NaN 2021-02-25 [7dc13a0f0] Change regex \D and \W shorthands to always match newlin
--> -->
<para> <para>
Change <link Allow <literal>\D</literal> and <literal>\W</literal> shorthands to
linkend="functions-aggregate"><function>var_samp()</function></link> match newlines in <link linkend="functions-posix-regexp">regular
and <function>stddev_samp()</function> with numeric parameters to expression</link> newline-sensitive mode (Tom Lane)
return NULL for a single NaN value (Tom Lane)
</para> </para>
<para> <para>
Previously <literal>NaN</literal> was returned. Previously they did not match newlines in this
mode, but that disagrees with the behavior of other common regular
expression engines. <literal>[^[:digit:]]</literal> or
<literal>[^[:word:]]</literal> can be used to get the old behavior.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-11-04 [9e38c2bb5] Declare assorted array functions using anycompatible not 2021-03-02 [4aea704a5] Fix semantics of regular expression back-references.
--> -->
<para> <para>
User-defined objects that reference some built-in array functions Disregard constraints when matching regular expression <link
along with their argument types must be recreated (Tom Lane) linkend="posix-escape-sequences">back-references</link> (Tom Lane)
</para> </para>
<para> <para>
Specifically, <link For example, in <literal>(^\d+).*\1</literal>,
linkend="functions-array"><function>array_append()</function></link>, the <literal>^</literal> constraint should be applied at the start
<function>array_prepend()</function>, of the string, but not when matching <literal>\1</literal>.
<function>array_cat()</function>,
<function>array_position()</function>,
<function>array_positions()</function>,
<function>array_remove()</function>,
<function>array_replace()</function>, or <link
linkend="functions-math"><function>width_bucket()</function></link>
used to take <type>anyarray</type> arguments but now take
<type>anycompatiblearray</type>. Therefore, user-defined objects
like aggregates and operators that reference old array function
signatures must be dropped before upgrading and recreated once the
upgrade completes.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-09-17 [76f412ab3] Remove factorial operators, leaving only the factorial() 2021-02-25 [2a0af7fe4] Allow complemented character class escapes within regex
--> -->
<para> <para>
Remove factorial operators <literal>!</literal> and Disallow <literal>\w</literal> as a range start or end in regular
<literal>!!</literal> (Mark Dilger) expression character classes (Tom Lane)
</para> </para>
<para> <para>
The <link This previously was allowed but produced unexpected results.
linkend="functions-math"><function>factorial()</function></link>
function is still supported. Also remove function
<function>numeric_fac()</function>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Peter Eisentraut <peter@eisentraut.org> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-18 [0a40563ea] Disallow factorial of negative numbers 2021-04-07 [3db826bd5] Tighten up allowed names for custom GUC parameters.
Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-04-07 [3db826bd5] Tighten up allowed names for custom GUC parameters.
--> -->
<para> <para>
Disallow <function>factorial()</function> of negative numbers Require <link linkend="runtime-config-custom">custom server
(Peter Eisentraut) parameter</link> names to use only characters that are valid in
</para> unquoted <acronym>SQL</acronym> identifiers (Tom Lane)
<para>
Previously such cases returned 1.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Peter Eisentraut <peter@eisentraut.org>
2020-09-17 [1ed6b8956] Remove support for postfix (right-unary) operators. 2020-06-10 [c7eab0e97] Change default of password_encryption to scram-sha-256
Author: Peter Eisentraut <peter@eisentraut.org>
2020-06-10 [c7eab0e97] Change default of password_encryption to scram-sha-256
--> -->
<para> <para>
Remove support for <link linkend="sql-createoperator">postfix</link> Change the default of the <xref linkend="guc-password-encryption"/>
(right-unary) operators (Mark Dilger) server parameter to <literal>scram-sha-256</literal> (Peter
Eisentraut)
</para> </para>
<para> <para>
<application>pg_dump</application> and Previously it was <literal>md5</literal>. All new passwords will
<application>pg_upgrade</application> will warn if postfix operators be stored as SHA256 unless this server setting is changed or
are being dumped. 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> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Peter Geoghegan <pg@bowt.ie>
2021-02-25 [7dc13a0f0] Change regex \D and \W shorthands to always match newlin 2021-03-10 [9f3665fbf] Don't consider newly inserted tuples in nbtree VACUUM.
Author: Peter Geoghegan <pg@bowt.ie>
2021-03-11 [effdd3f3b] Add back vacuum_cleanup_index_scale_factor parameter.
--> -->
<para> <para>
Allow <literal>\D</literal> and <literal>\W</literal> shorthands to Remove server parameter
match newlines in <link linkend="functions-similarto-regexp">regular <varname>vacuum_cleanup_index_scale_factor</varname> (Peter Geoghegan)
expression</link> newline-sensitive mode (Tom Lane)
</para> </para>
<para> <para>
Previously they did not match; <literal>[^[:digit:]]</literal> or This setting was ignored starting in
<literal>[^[:word:]]</literal> can be used to get the old behavior. <productname>PostgreSQL</productname> version 13.3.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-03-02 [4aea704a5] Fix semantics of regular expression back-references. 2020-12-08 [a676386b5] Remove operator_precedence_warning.
--> -->
<para> <para>
Improve handling of regular expression <link Remove server parameter <varname>operator_precedence_warning</varname>
linkend="posix-escape-sequences">back-references</link> (Tom Lane) (Tom Lane)
</para> </para>
<para> <para>
For example, disregard <literal>^</literal> in its expansion in This setting was used for warning applications about
<literal>\1</literal> in <literal>(^\d+).*\1</literal>. <productname>PostgreSQL</productname> 9.5 changes.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Bruce Momjian <bruce@momjian.us>
2021-02-25 [2a0af7fe4] Allow complemented character class escapes within regex 2020-10-05 [253f1025d] Overhaul pg_hba.conf clientcert's API
--> -->
<para> <para>
Disallow <literal>\w</literal> as range start/end in character Overhaul the specification of <literal>clientcert</literal> in <link
classes (Tom Lane) linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
(Kyotaro Horiguchi)
</para> </para>
<para> <para>
This previously was allowed but produced incorrect results. 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> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Michael Paquier <michael@paquier.xyz>
2021-04-07 [3db826bd5] Tighten up allowed names for custom GUC parameters. 2021-03-09 [f9264d152] Remove support for SSL compression
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Michael Paquier <michael@paquier.xyz>
2021-04-07 [3db826bd5] Tighten up allowed names for custom GUC parameters. 2021-03-10 [0ba71107e] Revert changes for SSL compression in libpq
--> -->
<para> <para>
Require <link linkend="runtime-config-custom">custom server Remove support for <link
variable</link> names to use only characters which are valid for linkend="runtime-config-connection-ssl"><acronym>SSL</acronym></link>
unquoted <acronym>SQL</acronym> identifiers (Tom Lane) compression (Daniel Gustafsson, Michael Paquier)
</para>
<para>
This was already disabled by default in previous
<productname>PostgreSQL</productname> releases, and most modern
OpenSSL and <acronym>TLS</acronym> versions no longer support it.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Peter Geoghegan <pg@bowt.ie> Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
2021-03-10 [9f3665fbf] Don't consider newly inserted tuples in nbtree VACUUM. 2021-03-04 [3174d69fb] Remove server and libpq support for old FE/BE protocol v
Author: Peter Geoghegan <pg@bowt.ie>
2021-03-11 [effdd3f3b] Add back vacuum_cleanup_index_scale_factor parameter.
--> -->
<para> <para>
Remove server variable Remove server and <link linkend="libpq">libpq</link> support
<varname>vacuum_cleanup_index_scale_factor</varname> (Peter Geoghegan) for the version 2 <link linkend="protocol">wire protocol</link>
(Heikki Linnakangas)
</para> </para>
<para> <para>
This setting was ignored starting in This was last used as the default in
<productname>PostgreSQL</productname> version 13.3. <productname>PostgreSQL</productname> 7.3 (released in 2002).
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Joe Conway <mail@joeconway.com> Author: Peter Eisentraut <peter@eisentraut.org>
2021-03-31 [b12bd4869] Fix has_column_privilege function corner case 2020-06-11 [5333e014a] Remove deprecated syntax from CREATE/DROP LANGUAGE
--> -->
<para> <para>
Return false for <link Disallow single-quoting of the language name in the
linkend="functions-info"><function>has_column_privilege()</function></link> <link linkend="sql-createlanguage"><command>CREATE/DROP
checks on non-existent or dropped columns when using attribute LANGUAGE</command></link> command (Peter Eisentraut)
numbers (Joe Conway)
</para> </para>
</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> <para>
Previously such attribute numbers returned an invalid column error. Remove the <link linkend="xfunc-sql-composite-functions">composite
types</link> that were formerly created for sequences and toast
tables (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -485,27 +503,33 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -485,27 +503,33 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Pass doubled quote marks in <link linkend="ecpg">ecpg</link> Process doubled quote marks in <link linkend="ecpg">ecpg</link>
<acronym>SQL</acronym> command strings literally (Tom Lane) <acronym>SQL</acronym> command strings correctly (Tom Lane)
</para> </para>
<para> <para>
Previously <literal>'abc''def'</literal> was passed to the server Previously <literal>'abc''def'</literal> was passed to the server
as <literal>'abc'def'</literal>, and <literal>"abc""def"</literal> as <literal>'abc'def'</literal>, and <literal>"abc""def"</literal>
was passed as <literal>"abc"def"</literal>. was passed as <literal>"abc"def"</literal>, causing syntax errors.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Peter Eisentraut <peter@eisentraut.org> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-11 [5333e014a] Remove deprecated syntax from CREATE/DROP LANGUAGE 2020-08-08 [20e7e1fe3] Remove &lt;@ from contrib/intarray's GiST operator classes.
--> -->
<para> <para>
Disallow single-quoting of the language name in the Prevent the containment operators (<literal>&lt;@</literal> and
<link linkend="sql-createlanguage"><command>CREATE/DROP <literal>@&gt;</literal>) for <xref linkend="intarray"/> from using
LANGUAGE</command></link> command (Peter Eisentraut) 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> </para>
</listitem> </listitem>
...@@ -523,30 +547,18 @@ Author: Thomas Munro <tmunro@postgresql.org> ...@@ -523,30 +547,18 @@ Author: Thomas Munro <tmunro@postgresql.org>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Peter Eisentraut <peter@eisentraut.org>
2020-07-07 [f3faf35f3] Don't create pg_type entries for sequences or toast tabl 2020-11-25 [f73999262] tablefunc: Reject negative number of tuples passed to no
-->
<para>
Remove <link linkend="xfunc-sql-composite-functions">composite
types</link> for sequences or toast tables (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-12-08 [a676386b5] Remove operator_precedence_warning.
--> -->
<para> <para>
Remove <varname>operator_precedence_warning</varname> setting Prevent <xref linkend="tablefunc"/>'s function
(Tom Lane) <function>normal_rand()</function> from accepting negative values
(Ashutosh Bapat)
</para> </para>
<para> <para>
This was needed for warning applications about Negative values produced undesirable results.
<productname>PostgreSQL</productname> 9.5 changes.
</para> </para>
</listitem> </listitem>
...@@ -576,8 +588,8 @@ Author: Stephen Frost <sfrost@snowman.net> ...@@ -576,8 +588,8 @@ Author: Stephen Frost <sfrost@snowman.net>
<para> <para>
Add predefined roles <link Add predefined roles <link
linkend="predefined-roles"><structname>pg_read_all_data</structname></link> linkend="predefined-roles"><literal>pg_read_all_data</literal></link>
and <structname>pg_write_all_data</structname> (Stephen Frost) and <literal>pg_write_all_data</literal> (Stephen Frost)
</para> </para>
<para> <para>
...@@ -593,13 +605,13 @@ Author: Noah Misch <noah@leadboat.com> ...@@ -593,13 +605,13 @@ Author: Noah Misch <noah@leadboat.com>
--> -->
<para> <para>
Add a predefined role to match the database owner (Noah Misch) Add predefined role <link
linkend="predefined-roles"><literal>pg_database_owner</literal></link>
that contains only the current database's owner (Noah Misch)
</para> </para>
<para> <para>
It is called <link This is especially useful in template databases.
linkend="predefined-roles"><literal>pg_database_owner</literal></link>;
this is useful in template databases.
</para> </para>
</listitem> </listitem>
...@@ -614,9 +626,9 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> ...@@ -614,9 +626,9 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org>
</para> </para>
<para> <para>
These files were previously retained for debugging Previously, such files were retained for debugging purposes. If
purposes; deletion can be disabled with <xref necessary, deletion can be disabled with the new server parameter
linkend="guc-remove-temp-files-after-crash"/>. <xref linkend="guc-remove-temp-files-after-crash"/>.
</para> </para>
</listitem> </listitem>
...@@ -632,10 +644,10 @@ Author: Thomas Munro <tmunro@postgresql.org> ...@@ -632,10 +644,10 @@ Author: Thomas Munro <tmunro@postgresql.org>
</para> </para>
<para> <para>
The server variable <xref The server parameter <xref
linkend="guc-client-connection-check-interval"/> allows some linkend="guc-client-connection-check-interval"/> allows control
supported operating systems to automatically cancel queries by over whether loss of connection is checked for intra-query.
disconnected clients. (This is supported on Linux and a few other operating systems.)
</para> </para>
</listitem> </listitem>
...@@ -676,12 +688,12 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -676,12 +688,12 @@ Author: Peter Eisentraut <peter@eisentraut.org>
--> -->
<para> <para>
Add Server Name Indication (<acronym>SNI</acronym>) for Add Server Name Indication (<acronym>SNI</acronym>) in
<acronym>SSL</acronym> connection packets (Peter Eisentraut) <acronym>SSL</acronym> connection packets (Peter Eisentraut)
</para> </para>
<para> <para>
This can be disabled by turning off client option <link This can be disabled by turning off client connection option <link
linkend="libpq-paramkeywords"><literal>sslsni</literal></link>. linkend="libpq-paramkeywords"><literal>sslsni</literal></link>.
</para> </para>
</listitem> </listitem>
...@@ -709,7 +721,7 @@ Author: Peter Geoghegan <pg@bowt.ie> ...@@ -709,7 +721,7 @@ Author: Peter Geoghegan <pg@bowt.ie>
<para> <para>
The vacuum parameter <link The vacuum parameter <link
linkend="sql-vacuum"><literal>INDEX_CLEANUP</literal></link> has a linkend="sql-vacuum"><literal>INDEX_CLEANUP</literal></link> has a
new default of <literal>auto</literal> to enable this optimization. new default of <literal>auto</literal> that enables this optimization.
</para> </para>
</listitem> </listitem>
...@@ -888,12 +900,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -888,12 +900,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Improve the performance of updates/deletes on partitioned tables Improve the performance of updates and deletes on partitioned tables
when only a few partitions are affected (Amit Langote, Tom Lane) when only a few partitions are affected (Amit Langote, Tom Lane)
</para> </para>
<para> <para>
This also allows updates/deletes on partitioned tables to use This change reduces the planner's overhead for such cases, and
also allows updates/deletes on partitioned tables to use
execution-time partition pruning. execution-time partition pruning.
</para> </para>
</listitem> </listitem>
...@@ -923,11 +936,14 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -923,11 +936,14 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Allow arbitrary collations of partition boundary values (Tom Lane) Ignore <literal>COLLATE</literal> clauses in partition boundary
values (Tom Lane)
</para> </para>
<para> <para>
Previously it had to match the collation of the partition key. Previously any such clause had to match the collation of the
partition key; but it's more consistent to consider that it's
automatically coerced to the collation of the partition key.
</para> </para>
</listitem> </listitem>
...@@ -989,7 +1005,7 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> ...@@ -989,7 +1005,7 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org>
<para> <para>
This allows <acronym>BRIN</acronym> indexes to be used effectively This allows <acronym>BRIN</acronym> indexes to be used effectively
with data that is not physically localized in the heap. with data that is not well-localized in the heap.
</para> </para>
</listitem> </listitem>
...@@ -1017,7 +1033,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -1017,7 +1033,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Allow <link linkend="spgist">SP-GiST</link> to use Allow <link linkend="spgist">SP-GiST</link> indexes to contain
<literal>INCLUDE</literal>'d columns (Pavel Borisov) <literal>INCLUDE</literal>'d columns (Pavel Borisov)
</para> </para>
</listitem> </listitem>
...@@ -1038,13 +1054,13 @@ Author: David Rowley <drowley@postgresql.org> ...@@ -1038,13 +1054,13 @@ Author: David Rowley <drowley@postgresql.org>
--> -->
<para> <para>
Allow hash lookup of <literal>IN</literal> clause with many Allow hash lookup for <literal>IN</literal> clauses with many
constants (James Coleman, David Rowley) constants (James Coleman, David Rowley)
</para> </para>
<para> <para>
Previously the only option was to sequentially scan the list Previously the code always sequentially scanned the list
of constants. of values.
</para> </para>
</listitem> </listitem>
...@@ -1080,9 +1096,7 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org> ...@@ -1080,9 +1096,7 @@ Author: Tomas Vondra <tomas.vondra@postgresql.org>
This allows statistics on a group of expressions and columns, This allows statistics on a group of expressions and columns,
rather than only columns like previously. System view <link rather than only columns like previously. System view <link
linkend="view-pg-stats-ext-exprs"><structname>pg_stats_ext_exprs</structname></link> linkend="view-pg-stats-ext-exprs"><structname>pg_stats_ext_exprs</structname></link>
reports such statistics. <link reports such statistics.
linkend="sql-altertable"><literal>ALTER TABLE ... ALTER COLUMN
... TYPE RESETS STATISTICS</literal></link>?
</para> </para>
</listitem> </listitem>
...@@ -1172,7 +1186,7 @@ Author: David Rowley <drowley@postgresql.org> ...@@ -1172,7 +1186,7 @@ Author: David Rowley <drowley@postgresql.org>
<para> <para>
This is useful if only a small percentage of rows is checked on This is useful if only a small percentage of rows is checked on
the inner side. It can be disabled via <xref the inner side. It can be disabled via server parameter <xref
linkend="guc-enable-memoize"/>. linkend="guc-enable-memoize"/>.
</para> </para>
</listitem> </listitem>
...@@ -1271,9 +1285,9 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -1271,9 +1285,9 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Improve the performance of <link Improve performance of <link
linkend="functions-similarto-regexp">regular expression</link> linkend="functions-posix-regexp">regular expression</link>
comparisons (Tom Lane) searches (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -1309,10 +1323,10 @@ Author: Robert Haas <rhaas@postgresql.org> ...@@ -1309,10 +1323,10 @@ Author: Robert Haas <rhaas@postgresql.org>
<para> <para>
This can be set at the column level, or set as a default via server This can be set at the column level, or set as a default via server
setting <xref linkend="guc-default-toast-compression"/>. parameter <xref linkend="guc-default-toast-compression"/>.
The server must be compiled with <link The server must be compiled with <link
linkend="configure-options-features"><option>--with-lz4</option></link> linkend="configure-options-features"><option>--with-lz4</option></link>
to support this feature; the default is still pglz. to support this feature. The default setting is still pglz.
</para> </para>
</listitem> </listitem>
...@@ -1340,7 +1354,7 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org> ...@@ -1340,7 +1354,7 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
--> -->
<para> <para>
If server variable <xref linkend="guc-compute-query-id"/> If server parameter <xref linkend="guc-compute-query-id"/>
is enabled, display the query id in <link is enabled, display the query id in <link
linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link>, linkend="monitoring-pg-stat-activity-view"><structname>pg_stat_activity</structname></link>,
<link linkend="sql-explain"><command>EXPLAIN <link linkend="sql-explain"><command>EXPLAIN
...@@ -1422,8 +1436,8 @@ Author: Fujii Masao <fujii@postgresql.org> ...@@ -1422,8 +1436,8 @@ Author: Fujii Masao <fujii@postgresql.org>
<para> <para>
Add system view <link Add system view <link
linkend="monitoring-pg-stat-wal-view"><structname>pg_stat_wal</structname></link>, linkend="monitoring-pg-stat-wal-view"><structname>pg_stat_wal</structname></link>
which reports <acronym>WAL</acronym> activity (Masahiro Ikeda) to report <acronym>WAL</acronym> activity (Masahiro Ikeda)
</para> </para>
</listitem> </listitem>
...@@ -1578,7 +1592,7 @@ Author: Andrew Dunstan <andrew@dunslane.net> ...@@ -1578,7 +1592,7 @@ Author: Andrew Dunstan <andrew@dunslane.net>
--> -->
<para> <para>
Allow the certificate's distinguished name (<acronym>DN</acronym>) Allow an SSL certificate's distinguished name (<acronym>DN</acronym>)
to be matched for client certificate authentication (Andrew to be matched for client certificate authentication (Andrew
Dunstan) Dunstan)
</para> </para>
...@@ -1586,7 +1600,7 @@ Author: Andrew Dunstan <andrew@dunslane.net> ...@@ -1586,7 +1600,7 @@ Author: Andrew Dunstan <andrew@dunslane.net>
<para> <para>
The new <link The new <link
linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link>
keyword <literal>clientname=DN</literal> allows comparison with option <literal>clientname=DN</literal> allows comparison with
certificate attributes beyond the <literal>CN</literal> and can certificate attributes beyond the <literal>CN</literal> and can
be combined with ident maps. be combined with ident maps.
</para> </para>
...@@ -1622,10 +1636,10 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -1622,10 +1636,10 @@ Author: Peter Eisentraut <peter@eisentraut.org>
</para> </para>
<para> <para>
This is controlled by server variable <xref This is controlled by server parameter <xref
linkend="guc-ssl-crl-dir"/> and libpq connection option linkend="guc-ssl-crl-dir"/> and libpq connection option
<xref linkend='libpq-connect-sslcrldir'/>. Previously only <xref linkend='libpq-connect-sslcrldir'/>. Previously only
<acronym>CRL</acronym> files could be specified. single <acronym>CRL</acronym> files could be specified.
</para> </para>
</listitem> </listitem>
...@@ -1656,7 +1670,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -1656,7 +1670,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Add server setting <xref linkend="guc-idle-session-timeout"/> Add server parameter <xref linkend="guc-idle-session-timeout"/>
to close idle sessions (Li Japin) to close idle sessions (Li Japin)
</para> </para>
...@@ -1689,8 +1703,9 @@ Author: Michael Paquier <michael@paquier.xyz> ...@@ -1689,8 +1703,9 @@ Author: Michael Paquier <michael@paquier.xyz>
--> -->
<para> <para>
Allow %P in <xref linkend="guc-log-line-prefix"/> to report the Allow <literal>%P</literal>
parallel group leader (Justin Pryzby) in <xref linkend="guc-log-line-prefix"/> to report the
parallel group leader's PID for a parallel worker (Justin Pryzby)
</para> </para>
</listitem> </listitem>
...@@ -1735,8 +1750,8 @@ Author: Thomas Munro <tmunro@postgresql.org> ...@@ -1735,8 +1750,8 @@ Author: Thomas Munro <tmunro@postgresql.org>
--> -->
<para> <para>
Add setting <xref linkend="guc-huge-page-size"/> to control the Add server parameter <xref linkend="guc-huge-page-size"/> to
size of huge pages used on Linux (Odin Ugedal) control the size of huge pages used on Linux (Odin Ugedal)
</para> </para>
</listitem> </listitem>
...@@ -1771,7 +1786,7 @@ Author: Fujii Masao <fujii@postgresql.org> ...@@ -1771,7 +1786,7 @@ Author: Fujii Masao <fujii@postgresql.org>
--> -->
<para> <para>
Allow <xref linkend="guc-restore-command"/> setting to be changed Allow the <xref linkend="guc-restore-command"/> setting to be changed
during a server reload (Sergei Kornilov) during a server reload (Sergei Kornilov)
</para> </para>
...@@ -1792,7 +1807,7 @@ Author: Fujii Masao <fujii@postgresql.org> ...@@ -1792,7 +1807,7 @@ Author: Fujii Masao <fujii@postgresql.org>
--> -->
<para> <para>
Add server variable <xref Add server parameter <xref
linkend="guc-log-recovery-conflict-waits"/> to report long recovery linkend="guc-log-recovery-conflict-waits"/> to report long recovery
conflict wait times (Bertrand Drouvot, Masahiko Sawada) conflict wait times (Bertrand Drouvot, Masahiko Sawada)
</para> </para>
...@@ -1805,8 +1820,9 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -1805,8 +1820,9 @@ Author: Peter Eisentraut <peter@eisentraut.org>
--> -->
<para> <para>
Pause recovery if the primary changes its parameters in a way that Pause recovery on a hot standby server if the primary changes its
prevents replay on the hot standby (Peter Eisentraut) parameters in a way that prevents replay on the standby (Peter
Eisentraut)
</para> </para>
<para> <para>
...@@ -1840,9 +1856,14 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -1840,9 +1856,14 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Add new server-side variable <xref linkend="guc-in-hot-standby"/> Add new read-only server parameter <xref linkend="guc-in-hot-standby"/>
(Haribabu Kommi, Greg Nancarrow, Tom Lane) (Haribabu Kommi, Greg Nancarrow, Tom Lane)
</para> </para>
<para>
This allows clients to easily detect whether they are connected to
a hot standby server.
</para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -1870,10 +1891,10 @@ Author: Thomas Munro <tmunro@postgresql.org> ...@@ -1870,10 +1891,10 @@ Author: Thomas Munro <tmunro@postgresql.org>
<para> <para>
By default, <productname>PostgreSQL</productname> By default, <productname>PostgreSQL</productname>
opens and fsyncs every data file at the opens and fsyncs each data file in the database cluster at the
start of crash recovery. This new setting, <xref start of crash recovery. A new setting, <xref
linkend="guc-recovery-init-sync-method"/><literal>=syncfs</literal>, linkend="guc-recovery-init-sync-method"/><literal>=syncfs</literal>,
instead syncs each filesystem used by the database cluster. instead syncs each filesystem used by the cluster.
This allows for faster recovery on systems with many database files. This allows for faster recovery on systems with many database files.
</para> </para>
</listitem> </listitem>
...@@ -2138,9 +2159,9 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -2138,9 +2159,9 @@ Author: Peter Eisentraut <peter@eisentraut.org>
</para> </para>
<para> <para>
The alias is created by using <literal>AS</literal> after the The alias is created by writing <literal>AS</literal> after the
<literal>USING</literal> clause and represents an alias for the <literal>USING</literal> clause. It can be used as a table
<literal>USING</literal> columns. qualification for the merged <literal>USING</literal> columns.
</para> </para>
</listitem> </listitem>
...@@ -2170,12 +2191,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2170,12 +2191,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Properly handle <literal>DEFAULT</literal> values for columns in Properly handle <literal>DEFAULT</literal> entries in multi-row
multi-column inserts (Dean Rasheed) <literal>VALUES</literal> lists in <command>INSERT</command>
(Dean Rasheed)
</para> </para>
<para> <para>
This used to throw an error. Such cases used to throw an error.
</para> </para>
</listitem> </listitem>
...@@ -2195,7 +2217,8 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -2195,7 +2217,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
</para> </para>
<para> <para>
This could be accomplished previously using existing syntax. The same results could be accomplished using existing syntax, but
much less conveniently.
</para> </para>
</listitem> </listitem>
...@@ -2206,12 +2229,12 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2206,12 +2229,12 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Allow the <literal>WHERE</literal> clause of <literal>ON Allow column names in the <literal>WHERE</literal> clause
CONFLICT</literal> to be table-qualified (Tom Lane) of <literal>ON CONFLICT</literal> to be table-qualified (Tom Lane)
</para> </para>
<para> <para>
Only the target table can be referenced. Only the target table can be referenced, however.
</para> </para>
</listitem> </listitem>
...@@ -2308,17 +2331,16 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2308,17 +2331,16 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Preserve <acronym>SQL</acronym> standard syntax in <link Preserve <acronym>SQL</acronym> standard syntax for SQL-defined
linkend="sql-createview">view definitions</link>, if possible functions in <link linkend="sql-createview">view definitions</link>
(Tom Lane) (Tom Lane)
</para> </para>
<para> <para>
Previously non-function call Previously, calls to SQL-standard functions such as <link
<acronym>SQL</acronym> standard syntax, e.g. <link linkend="functions-datetime-extract"><function>EXTRACT()</function></link>
linkend="functions-formatting"><function>EXTRACT</function></link>, were shown in plain function-call syntax. The original syntax
were converted to non-<acronym>SQL</acronym> standard function is now preserved when displaying a view or rule.
calls.
</para> </para>
</listitem> </listitem>
...@@ -2344,7 +2366,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2344,7 +2366,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Add <literal>OR REPLACE</literal> for <link Add <literal>OR REPLACE</literal> option for <link
linkend="sql-createtrigger"><command>CREATE TRIGGER</command></link> linkend="sql-createtrigger"><command>CREATE TRIGGER</command></link>
(Takamichi Osumi) (Takamichi Osumi)
</para> </para>
...@@ -2380,7 +2402,8 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -2380,7 +2402,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
--> -->
<para> <para>
Allow publications to be more easily added and removed (Japin Li) Allow publications to be more easily added to and removed from a
subscription (Japin Li)
</para> </para>
<para> <para>
...@@ -2405,9 +2428,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2405,9 +2428,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
This helps <acronym>GUI</acronym> tools analyze the These changes help <acronym>GUI</acronym> tools analyze the system
system tables. The constraints are visible using <link catalogs. The existing unique indexes of catalogs now have
linkend="functions-aclitem-fn-table">pg_get_catalog_foreign_keys()</link>. associated <literal>UNIQUE</literal> or <literal>PRIMARY
KEY</literal> constraints. Foreign key relationships are not
actually stored or implemented as constraints, but can be obtained
for display from the
function <link linkend="functions-info-catalog-table">pg_get_catalog_foreign_keys()</link>.
</para> </para>
</listitem> </listitem>
...@@ -2493,29 +2520,8 @@ Author: Alexander Korotkov <akorotkov@postgresql.org> ...@@ -2493,29 +2520,8 @@ Author: Alexander Korotkov <akorotkov@postgresql.org>
<para> <para>
These are like range data types, but they allow the specification These are like range data types, but they allow the specification
of multiple, ordered, non-overlapping ranges. All existing range of multiple, ordered, non-overlapping ranges. An associated
types now also support multirange versions. multirange type is automatically created for every range type.
</para>
</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>
<literal>&lt;&lt;|</literal> and <literal>|&gt;&gt;</literal>
to be strictly above/below geometry (Emre Hasegeli)
</para>
<para>
Previously <literal>&gt;^</literal> and <literal>&lt;^</literal>
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> </para>
</listitem> </listitem>
...@@ -2549,7 +2555,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2549,7 +2555,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
The previous limit was 4k bytes. Also remove function The previous limit was 4K bytes. Also remove function
<function>t_readline()</function>. <function>t_readline()</function>.
</para> </para>
</listitem> </listitem>
...@@ -2561,8 +2567,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2561,8 +2567,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Add support for <literal>infinity</literal> and Add support for <literal>Infinity</literal> and
<literal>-infinity</literal> values to the <link <literal>-Infinity</literal> values in the <link
linkend="datatype-numeric">numeric data type</link> (Tom Lane) linkend="datatype-numeric">numeric data type</link> (Tom Lane)
</para> </para>
...@@ -2574,45 +2580,20 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2574,45 +2580,20 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-11-21 [8597a48d0] Fix FPeq() and friends to get the right answers for infi 2020-11-23 [0cc993278] Rename the "point is strictly above/below point" compari
-->
<para>
Improve the accuracy of floating-point computations involving
infinity (Tom Lane)
</para>
</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>
Previously such operations produced underflow errors.
</para>
</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> <para>
Cause floating-point division of NaN by zero to return NaN Add <link linkend="functions-geometry">point operators</link>
(Tom Lane) <literal>&lt;&lt;|</literal> and <literal>|&gt;&gt;</literal>
representing strictly above/below tests (Emre Hasegeli)
</para> </para>
<para> <para>
Previously this returned an error. Division with Numerics always Previously these were called <literal>&gt;^</literal>
returned NaN. and <literal>&lt;^</literal>, but that naming is inconsistent with
other geometric data types. The old names remain available,
but may someday be removed.
</para> </para>
</listitem> </listitem>
...@@ -2649,8 +2630,15 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2649,8 +2630,15 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Create composite array types for most system relations (Wenjing Create composite array types for system catalogs (Wenjing Zeng)
Zeng) </para>
<para>
User-defined relations have long had composite types associated
with them, and also array types over those composite types.
System catalogs now do as well. This change also fixes an
inconsistency that creating a user-defined table in single-user
mode would fail to create a composite array type.
</para> </para>
</listitem> </listitem>
...@@ -2677,8 +2665,11 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -2677,8 +2665,11 @@ Author: Peter Eisentraut <peter@eisentraut.org>
</para> </para>
<para> <para>
Previously only single-quoted or $$-quoted function bodies were Previously only string-literal function bodies were supported.
supported. When writing a function or procedure in SQL-standard syntax,
the body is parsed immediately and stored as a parse tree.
This allows better tracking of function dependencies, and can have
security benefits.
</para> </para>
</listitem> </listitem>
...@@ -2708,7 +2699,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2708,7 +2699,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
The functions are <link The functions <link
linkend="functions-array"><function>array_append()</function></link>, linkend="functions-array"><function>array_append()</function></link>,
<function>array_prepend()</function>, <function>array_prepend()</function>,
<function>array_cat()</function>, <function>array_cat()</function>,
...@@ -2716,8 +2707,10 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2716,8 +2707,10 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<function>array_positions()</function>, <function>array_positions()</function>,
<function>array_remove()</function>, <function>array_remove()</function>,
<function>array_replace()</function>, and <link <function>array_replace()</function>, and <link
linkend="functions-math"><function>width_bucket()</function></link>. linkend="functions-math"><function>width_bucket()</function></link>
Previously only identical data types could be used. now take <type>anycompatiblearray</type> instead
of <type>anyarray</type> arguments. This makes them less fussy
about exact matches of argument types.
</para> </para>
</listitem> </listitem>
...@@ -2734,7 +2727,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2734,7 +2727,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
This can already be done with array slices. This could already be done with array slices, but less easily.
</para> </para>
</listitem> </listitem>
...@@ -2745,7 +2738,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2745,7 +2738,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Add bytea equivalents of <link Add <type>bytea</type> equivalents of <link
linkend="functions-binarystring"><function>ltrim()</function></link> linkend="functions-binarystring"><function>ltrim()</function></link>
and <function>rtrim()</function> (Joel Jacobson) and <function>rtrim()</function> (Joel Jacobson)
</para> </para>
...@@ -2847,8 +2840,8 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -2847,8 +2840,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
</para> </para>
<para> <para>
The function <function>date_bin()</function> "bins" the input This function <quote>bins</quote> input timestamps, grouping them
timestamp into a specified interval aligned with a specified origin. into intervals of a uniform length aligned with a specified origin.
</para> </para>
</listitem> </listitem>
...@@ -2865,7 +2858,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2865,7 +2858,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
They are interpreted as <literal>BC</literal> years. Negative values are interpreted as <literal>BC</literal> years.
</para> </para>
</listitem> </listitem>
...@@ -2882,10 +2875,10 @@ Author: Peter Eisentraut <peter@eisentraut.org> ...@@ -2882,10 +2875,10 @@ Author: Peter Eisentraut <peter@eisentraut.org>
</para> </para>
<para> <para>
The new syntax is <literal>SUBSTRING(text SIMILAR pattern ESCAPE The new SQL-standard syntax is <literal>SUBSTRING(text SIMILAR
escapechar)</literal>. The previous standard syntax was pattern ESCAPE escapechar)</literal>. The previous standard syntax was
<literal>SUBSTRING(text FROM pattern FOR escapechar)</literal>, <literal>SUBSTRING(text FROM pattern FOR escapechar)</literal>,
and is still supported by <productname>PostgreSQL</productname>. which is still accepted by <productname>PostgreSQL</productname>.
</para> </para>
</listitem> </listitem>
...@@ -2898,7 +2891,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2898,7 +2891,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<para> <para>
Allow complemented character class escapes <link Allow complemented character class escapes <link
linkend="posix-escape-sequences">\D</link>, <literal>\S</literal>, linkend="posix-escape-sequences">\D</link>, <literal>\S</literal>,
and <literal>\W</literal> within regex brackets (Tom Lane) and <literal>\W</literal> within regular expression brackets (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -2910,8 +2903,9 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2910,8 +2903,9 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<para> <para>
Add <link Add <link
linkend="posix-escape-sequences"><literal>[[:word:]]</literal></link> linkend="posix-bracket-expressions"><literal>[[:word:]]</literal></link>
as a character class to match <literal>\w</literal> (Tom Lane) as a regular expression character class, equivalent
to <literal>\w</literal> (Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -2931,71 +2925,83 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -2931,71 +2925,83 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-14 [decbe2bfb] Fix behavior of exp() and power() for infinity inputs. 2020-11-04 [fac83dbd6] Remove underflow error in float division with infinite d
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-15 [e532b1d57] Fix power() for infinity inputs some more.
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-15 [5674eb987] Fix power() for large inputs yet more.
--> -->
<para> <para>
Cause <link Make non-zero <link linkend="datatype-float">floating-point values</link>
linkend="functions-math"><function>exp()</function></link> and divided by infinity return zero (Kyotaro Horiguchi)
<function>power()</function> for negative-infinity exponents to
return zero (Tom Lane)
</para> </para>
<para> <para>
Previously they often returned underflow errors. Previously such operations produced underflow errors.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-07-25 [8a37951ee] Mark built-in coercion functions as leakproof where poss 2020-07-20 [4fb6aeb4f] Make floating-point "NaN / 0" return NaN instead of rais
--> -->
<para> <para>
Mark built-in type coercion functions as leakproof where possible Make floating-point division of NaN by zero return NaN
(Tom Lane) (Tom Lane)
</para> </para>
<para> <para>
This allows more use of functions that require type conversion in Previously this returned an error.
security-sensitive situations.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-03-08 [fed10d4ee] Properly mark pg_stat_get_subscription() as returning a 2020-06-14 [decbe2bfb] Fix behavior of exp() and power() for infinity inputs.
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-15 [e532b1d57] Fix power() for infinity inputs some more.
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-06-15 [5674eb987] Fix power() for large inputs yet more.
--> -->
<para> <para>
Mark <function>pg_stat_get_subscription()</function> as returning Cause <link
a set (Tom Lane) linkend="functions-math"><function>exp()</function></link> and
<function>power()</function> for negative-infinity exponents to
return zero (Tom Lane)
</para> </para>
<para> <para>
While it worked in previous releases, it didn't report proper Previously they often returned underflow errors.
optimizer statistics and couldn't be used in the target list.
FUNCTION NOT DOCUMENTED.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<!-- <!--
Author: Tom Lane <tgl@sss.pgh.pa.us> Author: Tom Lane <tgl@sss.pgh.pa.us>
2021-01-13 [5a6f9bce8] Mark inet_server_addr() and inet_server_port() as parall 2020-11-21 [8597a48d0] Fix FPeq() and friends to get the right answers for infi
--> -->
<para> <para>
Prevent <link Improve the accuracy of geometric computations involving
linkend="functions-info"><function>inet_server_addr()</function></link> infinity (Tom Lane)
and <function>inet_server_port()</function> from being run by </para>
parallel workers (Masahiko Sawada) </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>
This allows more use of functions that require type conversion in
security-sensitive situations.
</para> </para>
</listitem> </listitem>
...@@ -3037,7 +3043,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -3037,7 +3043,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
This adds nested record and array slicing support. This change allows assignment to array slices and nested record
fields.
</para> </para>
</listitem> </listitem>
...@@ -3089,7 +3096,7 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org> ...@@ -3089,7 +3096,7 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
</para> </para>
<para> <para>
This allows multiple queries to be sent and only wait for completion This allows multiple queries to be sent, only waiting for completion
when a specific synchronization message is sent. when a specific synchronization message is sent.
</para> </para>
</listitem> </listitem>
...@@ -3230,7 +3237,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -3230,7 +3237,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
This is now supported by <link This behavior is supported by <link
linkend="app-pgdump"><application>pg_dump</application></link>, linkend="app-pgdump"><application>pg_dump</application></link>,
<link <link
linkend="app-pg-dumpall"><application>pg_dumpall</application></link>, linkend="app-pg-dumpall"><application>pg_dumpall</application></link>,
...@@ -3259,7 +3266,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -3259,7 +3266,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
This helps reduce the number of matches for overloaded entries. This helps reduce the number of matches printed for overloaded names.
</para> </para>
</listitem> </listitem>
...@@ -3271,7 +3278,7 @@ Author: Michael Paquier <michael@paquier.xyz> ...@@ -3271,7 +3278,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<para> <para>
Add an access method column to <application>psql</application>'s Add an access method column to <application>psql</application>'s
\d[i|m|t]+ output (Georgios Kokolatos) <literal>\d[i|m|t]+</literal> output (Georgios Kokolatos)
</para> </para>
</listitem> </listitem>
...@@ -3308,8 +3315,9 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -3308,8 +3315,9 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
<para> <para>
Fix <application>psql</application>'s <literal>\dT</literal> to Fix <application>psql</application>'s <literal>\dT</literal> to
understand array syntax and backend grammar aliases, like "int" understand array syntax and backend grammar aliases,
for "integer" (Greg Sabino Mullane, Tom Lane) like <literal>int</literal> for <literal>integer</literal>
(Greg Sabino Mullane, Tom Lane)
</para> </para>
</listitem> </listitem>
...@@ -3323,29 +3331,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -3323,29 +3331,13 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
When editing the previous query or a file with When editing the previous query or a file with
<application>psql</application>'s <literal>\e</literal>, or using <application>psql</application>'s <literal>\e</literal>, or using
<literal>\ef</literal> and <literal>\ev</literal>, ignore the <literal>\ef</literal> and <literal>\ev</literal>, ignore the
contents if the editor exits without saving (Laurenz Albe) results if the editor exits without saving (Laurenz Albe)
</para> </para>
<para> <para>
Previously, such edits would still execute the editor contents. Previously, such edits would load the previous query into
</para> the query buffer, and typically execute it immediately. This was
</listitem> deemed to be probably not what the user wants.
<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
<literal>\connect</literal> 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> </para>
</listitem> </listitem>
...@@ -3391,7 +3383,7 @@ Author: Michael Paquier <michael@paquier.xyz> ...@@ -3391,7 +3383,7 @@ Author: Michael Paquier <michael@paquier.xyz>
<para> <para>
Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby, Improve tab completion (Vignesh C, Michael Paquier, Justin Pryzby,
Georgios Kokolatos, Julien Rouhaud, ADD NAMES) Georgios Kokolatos, Julien Rouhaud)
</para> </para>
</listitem> </listitem>
...@@ -3415,7 +3407,8 @@ Author: Robert Haas <rhaas@postgresql.org> ...@@ -3415,7 +3407,8 @@ Author: Robert Haas <rhaas@postgresql.org>
<para> <para>
Add command-line utility <link Add command-line utility <link
linkend="app-pgamcheck"><application>pg_amcheck</application></link> linkend="app-pgamcheck"><application>pg_amcheck</application></link>
to simplify running contrib/amcheck operations on many relations to simplify running <filename>contrib/amcheck</filename>
tests on many relations
(Mark Dilger) (Mark Dilger)
</para> </para>
</listitem> </listitem>
...@@ -3433,7 +3426,8 @@ Author: Magnus Hagander <magnus@hagander.net> ...@@ -3433,7 +3426,8 @@ Author: Magnus Hagander <magnus@hagander.net>
</para> </para>
<para> <para>
This removes the server start instructions that are normally output. This suppresses the server startup instructions that are normally
printed.
</para> </para>
</listitem> </listitem>
...@@ -3534,12 +3528,12 @@ Author: Michael Paquier <michael@paquier.xyz> ...@@ -3534,12 +3528,12 @@ Author: Michael Paquier <michael@paquier.xyz>
<para> <para>
Add configure option <link Add configure option <link
linkend="configure-options-features"><literal>--with-ssl={openssl}</literal></link> linkend="configure-options-features"><literal>--with-ssl={openssl}</literal></link>
to behave like <option>--with-openssl</option> (Daniel Gustafsson, to allow future choice of the SSL library to use (Daniel Gustafsson,
Michael Paquier) Michael Paquier)
</para> </para>
<para> <para>
The option <option>--with-openssl</option> is kept for The spelling <option>--with-openssl</option> is kept for
compatibility. compatibility.
</para> </para>
</listitem> </listitem>
...@@ -3591,7 +3585,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -3591,7 +3585,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
--> -->
<para> <para>
Add <xref linkend="guc-debug-discard-caches"/> parameter Add server parameter <xref linkend="guc-debug-discard-caches"/>
to control cache flushing for test purposes (Craig Ringer) to control cache flushing for test purposes (Craig Ringer)
</para> </para>
...@@ -3614,7 +3608,7 @@ Author: Peter Geoghegan <pg@bowt.ie> ...@@ -3614,7 +3608,7 @@ Author: Peter Geoghegan <pg@bowt.ie>
<para> <para>
Various improvements in <productname>valgrind</productname> Various improvements in <productname>valgrind</productname>
detection (Álvaro Herrera, Peter Geoghegan) error detection ability (Álvaro Herrera, Peter Geoghegan)
</para> </para>
</listitem> </listitem>
...@@ -3671,8 +3665,12 @@ Author: Magnus Hagander <magnus@hagander.net> ...@@ -3671,8 +3665,12 @@ Author: Magnus Hagander <magnus@hagander.net>
--> -->
<para> <para>
Remove build control over the random library used (Daniel Remove separate build-time control over the choice of random number
Gustafsson) generator (Daniel Gustafsson)
</para>
<para>
This is now always determined by the choice of SSL library.
</para> </para>
</listitem> </listitem>
...@@ -3683,8 +3681,8 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> ...@@ -3683,8 +3681,8 @@ Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
--> -->
<para> <para>
Add direct conversion routines between EUC_TW and Big5 (Heikki Add direct conversion routines between EUC_TW and Big5 encodings
Linnakangas) (Heikki Linnakangas)
</para> </para>
</listitem> </listitem>
...@@ -3695,7 +3693,7 @@ Author: Thomas Munro <tmunro@postgresql.org> ...@@ -3695,7 +3693,7 @@ Author: Thomas Munro <tmunro@postgresql.org>
--> -->
<para> <para>
Add collation versions for <productname>FreeBSD</productname> Add collation version support for <productname>FreeBSD</productname>
(Thomas Munro) (Thomas Munro)
</para> </para>
</listitem> </listitem>
...@@ -3713,7 +3711,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us> ...@@ -3713,7 +3711,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</para> </para>
<para> <para>
REMOVE? This allows an index access method to provide validity checking
during creation of a new operator class or family.
</para> </para>
</listitem> </listitem>
...@@ -3916,7 +3915,7 @@ Author: Bruce Momjian <bruce@momjian.us> ...@@ -3916,7 +3915,7 @@ Author: Bruce Momjian <bruce@momjian.us>
</para> </para>
<para> <para>
The new server variable <xref linkend="guc-compute-query-id"/>'s The new server parameter <xref linkend="guc-compute-query-id"/>'s
default of <literal>auto</literal> will automatically enable query default of <literal>auto</literal> will automatically enable query
id computation when this extension is loaded. id computation when this extension is loaded.
</para> </para>
...@@ -3929,13 +3928,14 @@ Author: Magnus Hagander <magnus@hagander.net> ...@@ -3929,13 +3928,14 @@ Author: Magnus Hagander <magnus@hagander.net>
--> -->
<para> <para>
Allow <application>pg_stat_statements</application> to track top Cause <application>pg_stat_statements</application> to track top
and nested statements independently (Julien Rohaud) and nested statements separately (Julien Rohaud)
</para> </para>
<para> <para>
Previously, when tracking all statements, identical top and nested Previously, when tracking all statements, identical top and nested
statements were tracked together. statements were tracked as a single entry; but it seems more useful
to separate such usages.
</para> </para>
</listitem> </listitem>
...@@ -3949,7 +3949,7 @@ Author: Fujii Masao <fujii@postgresql.org> ...@@ -3949,7 +3949,7 @@ Author: Fujii Masao <fujii@postgresql.org>
<para> <para>
Add row counts for utility commands to Add row counts for utility commands to
<structname>pg_stat_statements</structname> (Fujii Masao, Katsuragi <application>pg_stat_statements</application> (Fujii Masao, Katsuragi
Yuta, Seino Yuki) Yuta, Seino Yuki)
</para> </para>
</listitem> </listitem>
...@@ -3964,7 +3964,7 @@ Author: Fujii Masao <fujii@postgresql.org> ...@@ -3964,7 +3964,7 @@ Author: Fujii Masao <fujii@postgresql.org>
<para> <para>
Add <structname>pg_stat_statements_info</structname> system view Add <structname>pg_stat_statements_info</structname> system view
to show <structname>pg_stat_statements</structname> activity to show <application>pg_stat_statements</application> activity
(Katsuragi Yuta, Yuki Seino, Naoki Nakamichi) (Katsuragi Yuta, Yuki Seino, Naoki Nakamichi)
</para> </para>
</listitem> </listitem>
...@@ -4007,7 +4007,7 @@ Author: Fujii Masao <fujii@postgresql.org> ...@@ -4007,7 +4007,7 @@ Author: Fujii Masao <fujii@postgresql.org>
</para> </para>
<para> <para>
By default, only the root of partitioned tables is imported. By default, only the root of a partitioned table is imported.
</para> </para>
</listitem> </listitem>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment