diff options
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/src/sgml/filelist.sgml | 2 | ||||
-rw-r--r-- | doc/src/sgml/release-14.sgml | 4034 | ||||
-rw-r--r-- | doc/src/sgml/release-15.sgml | 16 | ||||
-rw-r--r-- | doc/src/sgml/release.sgml | 2 | ||||
-rwxr-xr-x | src/tools/git_changelog | 2 | ||||
-rwxr-xr-x | src/tools/version_stamp.pl | 2 |
8 files changed, 30 insertions, 4048 deletions
diff --git a/configure b/configure index a2c055f3cc2..e468def49e6 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 14beta2. +# Generated by GNU Autoconf 2.69 for PostgreSQL 15devel. # # Report bugs to <pgsql-bugs@lists.postgresql.org>. # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='14beta2' -PACKAGE_STRING='PostgreSQL 14beta2' +PACKAGE_VERSION='15devel' +PACKAGE_STRING='PostgreSQL 15devel' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -1443,7 +1443,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PostgreSQL 14beta2 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 15devel to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1508,7 +1508,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 14beta2:";; + short | recursive ) echo "Configuration of PostgreSQL 15devel:";; esac cat <<\_ACEOF @@ -1679,7 +1679,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 14beta2 +PostgreSQL configure 15devel generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2432,7 +2432,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PostgreSQL $as_me 14beta2, which was +It was created by PostgreSQL $as_me 15devel, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -20073,7 +20073,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PostgreSQL $as_me 14beta2, which was +This file was extended by PostgreSQL $as_me 15devel, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20144,7 +20144,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -PostgreSQL config.status 14beta2 +PostgreSQL config.status 15devel configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 3eb35583c1b..39666f97277 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details. dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [14beta2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [15devel], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 45b701426b9..596bfecf8e2 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -169,7 +169,7 @@ <!ENTITY sourcerepo SYSTEM "sourcerepo.sgml"> <!ENTITY release SYSTEM "release.sgml"> -<!ENTITY release-14 SYSTEM "release-14.sgml"> +<!ENTITY release-15 SYSTEM "release-15.sgml"> <!ENTITY limits SYSTEM "limits.sgml"> <!ENTITY acronyms SYSTEM "acronyms.sgml"> diff --git a/doc/src/sgml/release-14.sgml b/doc/src/sgml/release-14.sgml deleted file mode 100644 index 000f4e64c42..00000000000 --- a/doc/src/sgml/release-14.sgml +++ /dev/null @@ -1,4034 +0,0 @@ -<!-- doc/src/sgml/release-14.sgml --> -<!-- See header comment in release.sgml about typical markup --> - - <sect1 id="release-14"> - <title>Release 14</title> - - <formalpara> - <title>Release date:</title> - <para>2021-??-?? (AS OF 2021-06-20)</para> - </formalpara> - - <sect2> - <title>Overview</title> - - <para> - <productname>PostgreSQL</productname> 14 contains many new features and - enhancements, including: - </para> - - <itemizedlist> - <listitem> - <para> - </para> - </listitem> - </itemizedlist> - - <para> - The above items and other new features - of <productname>PostgreSQL</productname> 14 are explained in more - detail in the sections below. - </para> - - </sect2> - - <sect2> - - <title>Migration to Version 14</title> - - <para> - A dump/restore using <xref linkend="app-pg-dumpall"/> or use of <xref - linkend="pgupgrade"/> or logical replication is required for those - wishing to migrate data from any previous release. See <xref - linkend="upgrading"/> for general information on migrating to new major - releases. - </para> - - <para> - Version 14 contains a number of changes that may affect compatibility - with previous releases. Observe the following incompatibilities: - </para> - - <itemizedlist> - - <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> - 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> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2020-11-03 [2f70fdb06] Remove deprecated containment operators for built-in typ -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> - The more consistent <@ and @> have been recommended for - many years. - </para> - </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> - 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> -<!-- -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> - 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> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -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> - 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> - - <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> - 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> -<!-- -Author: Michael Paquier <michael@paquier.xyz> -2021-03-09 [f9264d152] Remove support for SSL compression -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> - 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> -<!-- -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> - This was last used as the default in Postgres 7.3 (year 2002). - </para> - </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> - <function>EXTRACT(date)</function> now throws an error for units - that are not part of the date data type. - </para> - </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> - Previously window frame clauses like <literal>'inf' PRECEDING AND - 'inf' FOLLOWING</literal> returned incorrect results. - </para> - </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> - Negative values produced undesirable results. - </para> - </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> - Previously <literal>NaN</literal> was returned. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2020-11-04 [9e38c2bb5] Declare assorted array functions using anycompatible not ---> - - <para> - User-defined objects that reference some built-in array functions - along with their argument types must be recreated (Tom Lane) - </para> - - <para> - Specifically, <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>, 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> - </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> - The <link - linkend="functions-math"><function>factorial()</function></link> - function is still supported. Also remove function - <function>numeric_fac()</function>. - </para> - </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> - Previously such cases returned 1. - </para> - </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> - <application>pg_dump</application> and - <application>pg_upgrade</application> will warn if postfix operators - are being dumped. - </para> - </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> - Previously they did not match; <literal>[^[:digit:]]</literal> or - <literal>[^[:word:]]</literal> can be used to get the old behavior. - </para> - </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> - For example, disregard <literal>^</literal> in its expansion in - <literal>\1</literal> in <literal>(^\d+).*\1</literal>. - </para> - </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> - This previously was allowed but produced incorrect results. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -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> - Require <link linkend="runtime-config-custom">custom server - variable</link> names to use only character which are valid for - unquoted <acronym>SQL</acronym> identifiers (Tom Lane) - </para> - </listitem> - - <listitem> -<!-- -Author: Peter Geoghegan <pg@bowt.ie> -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> - 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> - - <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> - Previously such attribute numbers returned an invalid column error. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2020-10-22 [3dfb1942d] Avoid premature de-doubling of quote marks in ECPG strin -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> - 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> -<!-- -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> - - <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> - - <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> - - <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> - This was needed for warning applications about - <productname>PostgreSQL</productname> 9.5 changes. - </para> - </listitem> - - </itemizedlist> - - </sect2> - - <sect2> - <title>Changes</title> - - <para> - Below you will find a detailed account of the changes between - <productname>PostgreSQL</productname> 14 and the previous major - release. - </para> - - <sect3> - <title>Server</title> - - <itemizedlist> - - <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> - These non-login roles can be used to give read or write permission - to all tables, views, and sequences. - </para> - </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> - It is called <link - linkend="predefined-roles"><literal>pg_database_owner</literal></link>; - this is useful in template databases. - </para> - </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> - These files were previously retained for debugging - purposes; deletion can be disabled with <xref - linkend="guc-remove-temp-files-after-crash"/>. - </para> - </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> - 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> -<!-- -Author: Magnus Hagander <magnus@hagander.net> -2021-04-08 [aaf043257] Add functions to wait for backend termination ---> - - <para> - Add an optional timeout parameter to <link - linkend="functions-admin-signal"><function>pg_terminate_backend()</function></link> - </para> - </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> - 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> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2021-04-07 [5c55dc8b4] libpq: Set Server Name Indication (SNI) for SSL connecti ---> - - <para> - Add 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> - - </itemizedlist> - - <sect4> - <title><link linkend="routine-vacuuming">Vacuuming</link></title> - - <itemizedlist> - - <listitem> -<!-- -Author: Peter Geoghegan <pg@bowt.ie> -2021-04-07 [5100010ee] Teach VACUUM to bypass unnecessary index vacuuming. -Author: Peter Geoghegan <pg@bowt.ie> -2021-06-18 [3499df0de] Support disabling index bypassing by VACUUM. ---> - - <para> - Allow vacuum to skip index vacuuming when the number of removable - index entries is insignificant (Masahiko Sawada, Peter Geoghegan) - </para> - - <para> - The vacuum parameter <link - linkend="sql-vacuum"><literal>INDEX_CLEANUP</literal></link> has a - new default of <literal>auto</literal> to enable this optimization. - </para> - </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> - Previously vacuum could only place preexisting deleted pages in - the free space map. - </para> - </listitem> - - <listitem> -<!-- -Author: Peter Geoghegan <pg@bowt.ie> -2021-04-07 [3c3b8a4b2] Truncate line pointer array during VACUUM. ---> - - <para> - Allow vacuum to reclaim space used by unused trailing heap - line pointers (Matthias van de Meent, Peter Geoghegan) - </para> - </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> - - <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> - - <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> - <link linkend="sql-vacuum"><command>VACUUM</command></link> now - has a <literal>PROCESS_TOAST</literal> option 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> -<!-- -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> - - <listitem> -<!-- -Author: Peter Geoghegan <pg@bowt.ie> -2021-04-07 [1e55e7d17] Add wraparound failsafe to VACUUM. ---> - - <para> - Cause vacuum operations to be more 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> - - <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> - This should reduce the possibility of failures that occur without - having issued warnings about wraparound. - </para> - </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> - 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> -<!-- -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> - - </itemizedlist> - </sect4> - - <sect4> - <title><link linkend="ddl-partitioning">Partitioning</link></title> - - <itemizedlist> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-03-31 [86dc90056] Rework planning and execution of UPDATE and DELETE. -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-04-06 [a1115fa07] Postpone some more stuff out of ExecInitModifyTable. -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> - This also allows updates/deletes on partitioned tables to use - execution-time partition pruning. - </para> - </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> - The syntax is <command>ALTER TABLE ... DETACH PARTITION - ... CONCURRENTLY</command>, and <command>FINALIZE</command>. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2020-09-28 [2dfa3fea8] Remove complaints about COLLATE clauses in partition bou ---> - - <para> - Allow arbitrary collations of partition boundary values (Tom Lane) - </para> - - <para> - Previously it had to match the collation of the partition key. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4> - <title>Indexes</title> - - <itemizedlist> - - <listitem> -<!-- -Author: Peter Geoghegan <pg@bowt.ie> -2021-01-13 [9dc718bdf] Pass down "logically unchanged index" hint. -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> - This is particularly helpful for reducing index bloat on tables - whose indexed columns are frequently updated. - </para> - </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> - This is useful if there are groups of values in each page range. - </para> - </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> - This allows <acronym>BRIN</acronym> indexes to be used effectively - with data that is not physically localized in the heap. - </para> - </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> - Presorting happens automatically and allows for faster index - creation and smaller indexes. - </para> - </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> - - </itemizedlist> - - </sect4> - - <sect4> - <title>Optimizer</title> - - <itemizedlist> - - <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> - Previously the only option was to sequentially scan the list - of constants. - </para> - </listitem> - - <listitem> -<!-- -Author: Dean Rasheed <dean.a.rasheed@gmail.com> -2020-12-03 [25a9e54d2] Improve estimation of OR clauses using extended statisti -Author: Dean Rasheed <dean.a.rasheed@gmail.com> -2020-12-08 [88b0898fe] Improve estimation of OR clauses using multiple extended -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> - - <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> - 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> -<!-- -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> - Previously a sequential scan was required for non-equality - <type>TID</type> specifications. - </para> - </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> - Previously, if the object already existed, - <command>EXPLAIN</command> would fail. - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4> - <title>General Performance</title> - - <itemizedlist> - - <listitem> -<!-- -Author: Andres Freund <andres@anarazel.de> -2020-08-12 [dc7420c2c] snapshot scalability: Don't compute global horizons whil -Author: Andres Freund <andres@anarazel.de> -2020-08-13 [1f51c17c6] snapshot scalability: Move PGXACT->xmin back to PGPROC. -Author: Andres Freund <andres@anarazel.de> -2020-08-14 [941697c3c] snapshot scalability: Introduce dense array of in-progre -Author: Andres Freund <andres@anarazel.de> -2020-08-14 [5788e258b] snapshot scalability: Move PGXACT->vacuumFlags to ProcGl -Author: Andres Freund <andres@anarazel.de> -2020-08-14 [73487a60f] snapshot scalability: Move subxact info to ProcGlobal, r -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> - This also improves performance when there are many idle sessions. - </para> - </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> - This is useful if only a small percentage of rows is checked on - the inner side. - </para> - </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> - - <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> - This was done by allocating blocks in groups to <link - linkend="guc-max-parallel-workers">parallel workers</link>. - </para> - </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> - 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> -<!-- -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> - This is controlled by <xref - linkend="guc-maintenance-io-concurrency"/>. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-02-20 [08c0d6ad6] Invent "rainbow" arcs within the regex engine. -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-02-20 [824bf7190] Recognize "match-all" NFAs within the regex engine. -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-02-20 [cebc1d34e] Fix regex engine to suppress useless concatenation sub-R -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-02-20 [581043089] Convert regex engine's subre tree from binary to N-ary s -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-02-20 [ea1268f63] Avoid generating extra subre tree nodes for capturing pa -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-02-21 [190c79884] Simplify memory management for regex DFAs a little. -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-02-26 [0fc1af174] Improve memory management in regex compiler. -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-03-02 [0c3405cf1] Improve performance of regular expression back-reference -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-03-02 [4604f83fd] Suppress unnecessary regex subre nodes in a couple more -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-03-08 [6c20bdb2a] Further tweak memory management for regex DFAs. -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> - - <listitem> -<!-- -Author: Michael Paquier <michael@paquier.xyz> -2020-10-11 [80f8eb79e] Use perfect hash for NFC and NFKC Unicode Normalization -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> - This speeds <link - linkend="functions-string"><function>normalize()</function></link> - and <literal>IS NORMALIZED</literal>. - </para> - </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> - 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> - - </sect4> - - <sect4> - <title>Monitoring</title> - - <itemizedlist> - - <listitem> -<!-- -Author: Bruce Momjian <bruce@momjian.us> -2021-04-07 [4f0b0966c] Make use of in-core query id added by commit 5fd9dfa5f5 -Author: Bruce Momjian <bruce@momjian.us> -2021-04-07 [f57a2f5e0] Add csvlog output for the new query_id value -Author: Bruce Momjian <bruce@momjian.us> -2021-04-20 [9660834dd] adjust query id feature to use pg_stat_activity.query_id -Author: Bruce Momjian <bruce@momjian.us> -2021-05-03 [f7a97b6ec] Update query_id computation -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> - A query id computed by an extension will also be displayed. - </para> - </listitem> - - <listitem> -<!-- -Author: Fujii Masao <fujii@postgresql.org> -2020-08-19 [3e98c0baf] Add pg_backend_memory_contexts system view. -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> - - <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> - - <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> - 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> -<!-- -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> - - </itemizedlist> - - </sect4> - - <sect4> - <title>System Views</title> - - <itemizedlist> - - <listitem> -<!-- -Author: Tomas Vondra <tomas.vondra@postgresql.org> -2021-01-06 [8a4f618e7] Report progress of COPY commands -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> - - <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> - - <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> - - <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> - - <listitem> -<!-- -Author: Fujii Masao <fujii@postgresql.org> -2020-10-02 [8d9a93596] Add pg_stat_wal statistics view. -Author: Fujii Masao <fujii@postgresql.org> -2020-12-02 [01469241b] Track total number of WAL records, FPIs and bytes genera -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> - - <listitem> -<!-- -Author: Amit Kapila <akapila@postgresql.org> -2020-10-08 [986816750] Track statistics for spilling of changes from ReorderBuf -Author: Amit Kapila <akapila@postgresql.org> -2020-10-20 [03d51b776] Change the attribute name in pg_stat_replication_slots v -Author: Amit Kapila <akapila@postgresql.org> -2020-10-29 [8e90ec558] Track statistics for streaming of changes from ReorderBu -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> - The function <link - linkend="monitoring-stats-functions"><function>pg_stat_reset_replication_slot()</function></link> - resets slot statistics. - </para> - </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> - - <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> - - <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> - - </itemizedlist> - - </sect4> - - <sect4> - <title><acronym>Authentication</acronym></title> - - <itemizedlist> - - <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> - 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> -<!-- -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> - A backslash at the end of a line allows record contents to be - continued on the next line. - </para> - </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> - 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> -<!-- -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> - - </itemizedlist> - - </sect4> - - <sect4> - <title>Server Configuration</title> - - <itemizedlist> - - <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> - This is similar to <xref - linkend="guc-idle-in-transaction-session-timeout"/>. - </para> - </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> - The previous default was 0.5. - </para> - </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> - - <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> - Previously all the paths had to be in a single quoted string. - </para> - </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> - This is controlled by <xref - linkend="guc-min-dynamic-shared-memory"/>. This allows more - use of huge pages. - </para> - </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> - - </itemizedlist> - - </sect4> - - </sect3> - - <sect3> - <title>Streaming Replication and Recovery</title> - - <itemizedlist> - - <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> - - <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> - 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> -<!-- -Author: Fujii Masao <fujii@postgresql.org> -2021-01-08 [0650ff230] Add GUC to log long wait times on recovery conflicts. -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> - - <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> - Previously the standby would shut down immediately. - </para> - </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> - 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> -<!-- -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> - - <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> - - <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> - 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> -<!-- -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> - - <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> - - <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> - Previously these functions could only be executed by super-users, - and this is still the default. - </para> - </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> - GENERAL ENOUGH? - </para> - </listitem> - - </itemizedlist> - - <sect4> - <title><link linkend="logical-replication">Logical Replication</link></title> - - <itemizedlist> - - <listitem> -<!-- -Author: Amit Kapila <akapila@postgresql.org> -2020-09-03 [464824323] Add support for streaming to built-in logical replicatio -Author: Amit Kapila <akapila@postgresql.org> -2020-12-30 [0aa8a01d0] Extend the output plugin API to allow decoding of prepar -Author: Amit Kapila <akapila@postgresql.org> -2021-01-04 [a271a1b50] Allow decoding at prepare time in ReorderBuffer. -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 (Dilip Kumar, Amit Kapila, Ajin - Cherian, Tomas Vondra, 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> - - <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> - 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> -<!-- -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> - - <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> - This is useful for logical decoding. - </para> - </listitem> - - <listitem> -<!-- -Author: Amit Kapila <akapila@postgresql.org> -2020-12-30 [0aa8a01d0] Extend the output plugin API to allow decoding of prepar -Author: Amit Kapila <akapila@postgresql.org> -2021-01-04 [a271a1b50] Allow decoding at prepare time in ReorderBuffer. -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> - This is controlled via <link - linkend="functions-replication"><function>pg_create_logical_replication_slot()</function></link>. - </para> - </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> invalidation messages 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> - - <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> - This allows <link linkend="logicaldecoding">logical decoding</link> - to work efficiently in presence of a large amount of - <acronym>DDL</acronym>. - </para> - </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> - - <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> - This is faster than text mode, but slightly less robust. - </para> - </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> - - </itemizedlist> - </sect4> - - </sect3> - - <sect3> - <title><link linkend="sql-select"><command>SELECT</command></link>, <link linkend="sql-insert"><command>INSERT</command></link></title> - - <itemizedlist> - - <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> - There are now 90% fewer restricted keywords. - </para> - </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> - 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> -<!-- -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> - For example, <literal>GROUP BY CUBE (a,b), CUBE (b,c)</literal> - will generate duplicate grouping combinations without - <literal>DISTINCT</literal>. - </para> - </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> - This used to throw an error. - </para> - </listitem> - - <listitem> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2021-02-01 [3696a600e] SEARCH and CYCLE clauses -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> - This could be accomplished previously using existing syntax. - </para> - </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> - Only the target table can be referenced. - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Utility Commands</title> - - <itemizedlist> - - <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> - - <listitem> -<!-- -Author: Michael Paquier <michael@paquier.xyz> -2021-02-04 [c5b286047] Add TABLESPACE option to REINDEX -Author: Michael Paquier <michael@paquier.xyz> -2021-03-03 [57e6db706] Add - -tablespace option to reindexdb ---> - - <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. - A <option>--tablespace</option> option was also added to <link - linkend="app-reindexdb"><application>reindexdb</application></link> - to control this. - </para> - </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> - - <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> - - <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> - 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> -<!-- -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> - - <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> - This allows pre-existing triggers to be conditionally replaced. - </para> - </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> - The <link - linkend="postgres-fdw"><application>postgres_fdw</application></link> - module also now supports this. - </para> - </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> - 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> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2021-01-30 [dfb75e478] Add primary keys and unique constraints to system catalo -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> - This helps <acronym>GUI</acronym> tools analyze the system tables. - </para> - </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> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Data Types</title> - - <itemizedlist> - - <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> - 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> -<!-- -Author: Alexander Korotkov <akorotkov@postgresql.org> -2021-01-31 [676887a3b] Implementation of subscripting for jsonb -Author: Alexander Korotkov <akorotkov@postgresql.org> -2021-01-31 [81fcc72e6] Filling array gaps during jsonb subscripting -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> - <type>JSONB</type> subscripting can be used to extract and assign - to portions of <type>JSONB</type> documents. - </para> - </listitem> - - <listitem> -<!-- -Author: Author: Alexander Korotkov <akorotkov@postgresql.org> -2020-12-20 [6df7a9698] Multirange datatypes -Author: Alexander Korotkov <akorotkov@postgresql.org> -2020-12-29 [db6335b5b] Add support of multirange matching to the existing range -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> - 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> -<!-- -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> - 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> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2020-06-08 [cbcc8726b] Update snowball -Author: Peter Eisentraut <peter@eisentraut.org> -2020-06-08 [c2e71cb35] Update documentation for snowball update -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> - - <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> - The previous limit was 4k bytes. Also remove function - <function>t_readline()</function>. - </para> - </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 <literal>infinity</literal> 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> - - <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> - - <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> - 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> - - <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> - - <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> - - <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> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Functions</title> - - <itemizedlist> - - <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> - Previously only single-quoted or $$-quoted function bodies were - supported. - </para> - </listitem> - - <listitem> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2020-10-05 [2453ea142] Support for OUT parameters in procedures -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> - - <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> - 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> -<!-- -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> - This can already be done with array slices. - </para> - </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> - - <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> - Negative values start from the last field and count backward. - </para> - </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> - This is similar to the <link - linkend="functions-string"><function>regexp_split_to_table()</function></link> - function. - </para> - </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> - This is similar to how Unicode can be specified in literal string. - </para> - </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> - - <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> - - <listitem> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2021-03-24 [49ab61f0b] Add date_bin function -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> - The function <function>date_bin()</function> "bins" the input - timestamp into a specified interval aligned with a specified origin. - </para> - </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> - They are interpreted as <literal>BC</literal> years. - </para> - </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> - 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> -<!-- -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> - - <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> - - <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> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -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> - 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> - - <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> - </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> - 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> -<!-- -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> - - <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> - - </itemizedlist> - - </sect3> - - <sect3> - <title><link linkend="plpgsql">PL/pgSQL</link></title> - - <itemizedlist> - - <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> - This adds nested record and array slicing support. - </para> - </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> - - <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> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Client Interfaces</title> - - <itemizedlist> - - <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> - This allows multiple queries to be sent and only wait for completion - when a specific synchronization message is sent. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-03-02 [d16f8c8e4] Mark default_transaction_read_only as GUC_REPORT. -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> - The new options are <literal>read-only</literal>, - <literal>primary</literal>, <literal>standby</literal>, and - <literal>prefer-standby</literal>. - </para> - </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> - - <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> - This is done via <link - linkend="ecpg-sql-declare-statement"><literal>DECLARE - ... STATEMENT</literal></link>. - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Client Applications</title> - - <itemizedlist> - - <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> - The options are <option>--no-index-cleanup</option> and - <option>--no-truncate</option>. - </para> - </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> - This is controlled by option <option>--extension</option>. - </para> - </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> - - <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> - 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> - - <itemizedlist> - - <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> - This helps reduce the number of matches for overloaded entries. - </para> - </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> - - <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> - - <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> - - <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> - - <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> - Previously, such edits would still execute the editor contents. - </para> - </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> - Specifically, properly reuse the password previously specified, - and prompt for a new password if the previous one failed. - </para> - </listitem> - - <listitem> -<!-- -Author: Michael Paquier <michael@paquier.xyz> -2020-07-21 [c273d9d8c] Rework tab completion of COPY and \copy in psql -Author: Michael Paquier <michael@paquier.xyz> -2020-07-30 [f1af75c5f] Include partitioned tables for tab completion of VACUUM -Author: Michael Paquier <michael@paquier.xyz> -2020-08-11 [1f75b4541] Improve tab completion of REINDEX in psql -Author: Michael Paquier <michael@paquier.xyz> -2020-09-17 [7307df16a] Improve tab completion of IMPORT FOREIGN SCHEMA in psql -Author: Fujii Masao <fujii@postgresql.org> -2020-09-28 [0baf82fa0] Improve tab-completion for DEALLOCATE. -Author: Michael Paquier <michael@paquier.xyz> -2020-10-24 [0b46e82c0] Add tab completion for ALTER TABLE .. FORCE ROW LEVEL SE -Author: Michael Paquier <michael@paquier.xyz> -2020-11-18 [bf0aa7c4b] Add tab completion for CREATE [OR REPLACE] TRIGGER in ps -Author: Fujii Masao <fujii@postgresql.org> -2021-01-14 [3f238b882] Improve tab-completion for CLOSE, DECLARE, FETCH and MOV -Author: Thomas Munro <tmunro@postgresql.org> -2021-02-05 [e1c02d92a] Tab-complete CREATE DATABASE ... LOCALE. -Author: Michael Paquier <michael@paquier.xyz> -2021-02-17 [e6b8e83b9] Add psql completion for [ NO ] DEPENDS ON EXTENSION -Author: Thomas Munro <tmunro@postgresql.org> -2021-02-23 [5bc09a747] Tab-complete CREATE COLLATION. -Author: Fujii Masao <fujii@postgresql.org> -2021-02-25 [6b40d9bdb] Improve tab-completion for TRUNCATE. -Author: Michael Paquier <michael@paquier.xyz> -2021-03-19 [5b2266e33] Improve tab completion of IMPORT FOREIGN SCHEMA with \h -Author: Tom Lane <tgl@sss.pgh.pa.us> -2021-04-08 [d1fcbde57] Add support for tab-completion of type arguments in \df, -Author: Fujii Masao <fujii@postgresql.org> -2021-04-12 [81e094bdf] Support tab-complete for TRUNCATE on foreign tables. -Author: Michael Paquier <michael@paquier.xyz> -2021-04-21 [22b2dec31] Add CURRENT_ROLE to list of roles for tab completion of -Author: Alvaro Herrera <alvherre@alvh.no-ip.org> -2021-04-26 [6dd1042ed] psql: tab-complete ALTER ... DETACH CONCURRENTLY / FINAL -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> - - </itemizedlist> - - </sect4> - - </sect3> - - <sect3> - <title>Server Applications</title> - - <itemizedlist> - - <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> - - <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> - This removes the server start instructions that are normally output. - </para> - </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> - Instead, give comparable <link - linkend="app-vacuumdb"><application>vacuumdb</application></link> - instructions. - </para> - </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> - This option was unnecessary since all passed options could already - be specified directly. - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Documentation</title> - - <itemizedlist> - - <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> - - <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> - 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> - - </sect3> - - <sect3> - <title>Source Code</title> - - <itemizedlist> - - <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> - The option <option>--with-openssl</option> is kept for - compatibility. - </para> - </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> - This is currently supported on <productname>Linux</productname> - and <productname>Windows</productname>. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2020-10-09 [bed90759f] Fix our Windows stat() emulation to handle file sizes > ---> - - <para> - Allow Windows to properly handle files larger than four gigabytes - (Juan José Santamaría Flecha) - </para> - - <para> - For example this allows <link - linkend="sql-copy"><command>COPY,</command></link> <link - linkend="configure-options-misc"><acronym>WAL</acronym></link> - files, and relation segment files to be larger than four gigabytes. - </para> - </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> - Previously this could only be controlled at compile time and is - enabled only in assert builds. - </para> - </listitem> - - <listitem> -<!-- -Author: Peter Geoghegan <pg@bowt.ie> -2020-07-17 [1e0dfd166] Add Valgrind buffer access instrumentation. -Author: Peter Geoghegan <pg@bowt.ie> -2020-07-19 [46ef520b9] Mark buffers as defined to Valgrind consistently. -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> - - <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> - - <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> - - <listitem> -<!-- -Author: Michael Paquier <michael@paquier.xyz> -2020-12-04 [4f48a6fbe] Change SHA2 implementation based on OpenSSL to use EVP d -Author: Michael Paquier <michael@paquier.xyz> -2020-12-10 [b67b57a96] Refactor MD5 implementations according to new cryptohash -Author: Michael Paquier <michael@paquier.xyz> -2021-01-23 [a8ed6bb8f] Introduce SHA1 implementations in the cryptohash infrast -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> - This is more modern and supports <acronym>FIPS</acronym> mode. - </para> - </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> - - <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> - - <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> - - <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> - REMOVE? - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Additional Modules</title> - - <itemizedlist> - - <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> - - <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> - This is similar to <literal>LIKE</literal> except no wildcards - are honored. - </para> - </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> - - <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> - - <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> - This is useful for correcting database corruption. - </para> - </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> - - <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> - Previously it only checked B-Tree index pages. - </para> - </listitem> - - <listitem> -<!-- -Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> -2021-01-13 [756ab2912] Add functions to 'pageinspect' to inspect GiST indexes. -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> - - <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> - - <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> - - </itemizedlist> - - <sect4> - <title><link linkend="pgstatstatements">pg_stat_statements</link></title> - - <itemizedlist> - - <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> - 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> -<!-- -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> - Previously, when tracking all statements, identical top and nested - statements were tracked together. - </para> - </listitem> - - <listitem> -<!-- -Author: Fujii Masao <fujii@postgresql.org> -2020-07-29 [6023b7ea7] pg_stat_statements: track number of rows processed by so -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> - - <listitem> -<!-- -Author: Fujii Masao <fujii@postgresql.org> -2020-11-26 [9fbc3f318] pg_stat_statements: Track number of times pgss entries w -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> - - </itemizedlist> - - </sect4> - - <sect4> - <title><link linkend="postgres-fdw"><application>postgres_fdw</application></link></title> - - <itemizedlist> - - <listitem> -<!-- -Author: Tomas Vondra <tomas.vondra@postgresql.org> -2021-01-20 [b663a4136] Implement support for bulk inserts in postgres_fdw -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> - - <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> - By default, only the root of partitioned tables is imported. - </para> - </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> - - <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> - This is controlled by <varname>keep_connections</varname> and - defaults to on. - </para> - </listitem> - - <listitem> -<!-- -Author: Fujii Masao <fujii@postgresql.org> -2020-10-06 [32a9c0bdf] postgres_fdw: reestablish new connection if cached one i -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> - Previously foreign server restarts could cause foreign table - access errors. - </para> - </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> - - </itemizedlist> - - </sect4> - - </sect3> - - </sect2> - - <sect2 id="release-14-acknowledgements"> - <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. - </para> - - <simplelist> - <member></member> - </simplelist> - </sect2> - - </sect1> diff --git a/doc/src/sgml/release-15.sgml b/doc/src/sgml/release-15.sgml new file mode 100644 index 00000000000..4b78f0be91e --- /dev/null +++ b/doc/src/sgml/release-15.sgml @@ -0,0 +1,16 @@ +<!-- doc/src/sgml/release-15.sgml --> +<!-- See header comment in release.sgml about typical markup --> + +<sect1 id="release-15"> + <title>Release 15</title> + + <formalpara> + <title>Release date:</title> + <para>2022-??-??</para> + </formalpara> + + <para> + This is just a placeholder for now. + </para> + +</sect1> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 7451f2d4ce3..3ea5024956f 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -81,7 +81,7 @@ For new features, add links to the documentation sections. All the active branches have to be edited concurrently when doing that. --> -&release-14; +&release-15; <sect1 id="release-prior"> <title>Prior Releases</title> diff --git a/src/tools/git_changelog b/src/tools/git_changelog index 30a64b371a8..8a5d408d29e 100755 --- a/src/tools/git_changelog +++ b/src/tools/git_changelog @@ -59,7 +59,7 @@ require IPC::Open2; # (We could get this from "git branches", but not worth the trouble.) # NB: master must be first! my @BRANCHES = qw(master - REL_13_STABLE + REL_14_STABLE REL_13_STABLE REL_12_STABLE REL_11_STABLE REL_10_STABLE REL9_6_STABLE REL9_5_STABLE REL9_4_STABLE REL9_3_STABLE REL9_2_STABLE REL9_1_STABLE REL9_0_STABLE REL8_4_STABLE REL8_3_STABLE REL8_2_STABLE REL8_1_STABLE REL8_0_STABLE diff --git a/src/tools/version_stamp.pl b/src/tools/version_stamp.pl index ee8f314b3cd..4a4cbf7ca97 100755 --- a/src/tools/version_stamp.pl +++ b/src/tools/version_stamp.pl @@ -25,7 +25,7 @@ use warnings; # Major version is hard-wired into the script. We update it when we branch # a new development version. -my $majorversion = 14; +my $majorversion = 15; # Validate argument and compute derived variables my $minor = shift; |