Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
d10b19e2
Commit
d10b19e2
authored
Jun 07, 2020
by
Tom Lane
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Stamp HEAD as 14devel.
Let the hacking begin ...
parent
b5d69b7c
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
30 additions
and
3047 deletions
+30
-3047
configure
configure
+9
-9
configure.in
configure.in
+1
-1
doc/src/sgml/filelist.sgml
doc/src/sgml/filelist.sgml
+1
-1
doc/src/sgml/release-13.sgml
doc/src/sgml/release-13.sgml
+0
-3034
doc/src/sgml/release-14.sgml
doc/src/sgml/release-14.sgml
+16
-0
doc/src/sgml/release.sgml
doc/src/sgml/release.sgml
+1
-1
src/tools/git_changelog
src/tools/git_changelog
+1
-0
src/tools/version_stamp.pl
src/tools/version_stamp.pl
+1
-1
No files found.
configure
View file @
d10b19e2
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for PostgreSQL 1
3beta1
.
# Generated by GNU Autoconf 2.69 for PostgreSQL 1
4devel
.
#
# 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
=
'1
3beta1
'
PACKAGE_STRING
=
'PostgreSQL 1
3beta1
'
PACKAGE_VERSION
=
'1
4devel
'
PACKAGE_STRING
=
'PostgreSQL 1
4devel
'
PACKAGE_BUGREPORT
=
'pgsql-bugs@lists.postgresql.org'
PACKAGE_URL
=
'https://www.postgresql.org/'
...
...
@@ -1437,7 +1437,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 1
3beta1
to adapt to many kinds of systems.
\`
configure' configures PostgreSQL 1
4devel
to adapt to many kinds of systems.
Usage:
$0
[OPTION]... [VAR=VALUE]...
...
...
@@ -1502,7 +1502,7 @@ fi
if
test
-n
"
$ac_init_help
"
;
then
case
$ac_init_help
in
short
|
recursive
)
echo
"Configuration of PostgreSQL 1
3beta1
:"
;;
short
|
recursive
)
echo
"Configuration of PostgreSQL 1
4devel
:"
;;
esac
cat
<<
\
_ACEOF
...
...
@@ -1669,7 +1669,7 @@ fi
test
-n
"
$ac_init_help
"
&&
exit
$ac_status
if
$ac_init_version
;
then
cat
<<
\
_ACEOF
PostgreSQL configure 1
3beta1
PostgreSQL configure 1
4devel
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
...
...
@@ -2422,7 +2422,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
1
3beta1
, which was
It was created by PostgreSQL
$as_me
1
4devel
, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0
$@
...
...
@@ -19665,7 +19665,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
1
3beta1
, which was
This file was extended by PostgreSQL
$as_me
1
4devel
, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
$CONFIG_FILES
...
...
@@ -19736,7 +19736,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 1
3beta1
PostgreSQL config.status 1
4devel
configured by
$0
, generated by GNU Autoconf 2.69,
with options
\\
"
\$
ac_cs_config
\\
"
...
...
configure.in
View file @
d10b19e2
...
...
@@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
AC_INIT([PostgreSQL], [1
3beta1
], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
AC_INIT([PostgreSQL], [1
4devel
], [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
...
...
doc/src/sgml/filelist.sgml
View file @
d10b19e2
...
...
@@ -167,7 +167,7 @@
<!ENTITY sourcerepo SYSTEM "sourcerepo.sgml">
<!ENTITY release SYSTEM "release.sgml">
<!ENTITY release-1
3 SYSTEM "release-13
.sgml">
<!ENTITY release-1
4 SYSTEM "release-14
.sgml">
<!ENTITY limits SYSTEM "limits.sgml">
<!ENTITY acronyms SYSTEM "acronyms.sgml">
...
...
doc/src/sgml/release-13.sgml
deleted
100644 → 0
View file @
b5d69b7c
<!-- doc/src/sgml/release-13.sgml -->
<!-- See header comment in release.sgml about typical markup -->
<sect1 id="release-13">
<title>Release 13</title>
<formalpara>
<title>Release date:</title>
<para>2020-XX-XX, CURRENT AS OF 2020-05-03</para>
</formalpara>
<sect2>
<title>Overview</title>
<para>
Major enhancements in <productname>PostgreSQL</productname> 13 include:
</para>
<!-- Items in this list summarize one or more items below -->
<itemizedlist>
<listitem>
<para></para>
</listitem>
</itemizedlist>
<para>
The above items are explained in more detail in the sections below.
</para>
</sect2>
<sect2>
<title>Migration to Version 13</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 13 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>
2019-09-07 [ca70bdaef] Fix issues around strictness of SIMILAR TO.
-->
<para>
Change <link linkend="functions-similarto-regexp"><command>SIMILAR
TO ... ESCAPE NULL</command></link> to return <literal>NULL</literal>
(Tom Lane)
</para>
<para>
This new behavior matches the <acronym>SQL</acronym> specification.
Previously this caused the escape to be set to the default backslash
character. The previous behavior has been retained in old views
by keeping the original function unchanged. This also applies to
<command>substring(text FROM pattern ESCAPE text)</command>.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-01-31 [870ad6a59] Fix not-quite-right string comparison in parse_jsonb_ind
-->
<para>
Have <link
linkend="textsearch-functions-table"><function>jsonb_to_tsvector()</function></link>
properly check "string" parameter (Dominik Czarnota)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-28 [9950c8aad] Fix lquery's behavior for consecutive '*' items.
-->
<para>
In <xref linkend="ltree"/>, when using adjacent asterisks with braces,
e.g. ".*{2}.*{3}", properly interpret that as ".*{5}" (Nikita Glukhov)
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2020-03-16 [b09ff5366] Simplify the effective_io_concurrency setting.
-->
<para>
Change the way non-default <xref
linkend="guc-effective-io-concurrency"/> values affect concurrency
(Thomas Munro)
</para>
<para>
Previously, this value was adjusted before effecting the number of
concurrent requests. This value is now used directly. Conversion of
old values to new ones can be done using:
</para>
<programlisting>
SELECT round(sum(OLD / n::float)) FROM generate_series(1, OLD) s(n);
</programlisting>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2019-11-12 [5c46e7d82] pg_stat_{ssl,gssapi}: Show only processes with connectio
-->
<para>
Prevent display of auxiliary processes in <xref
linkend="pg-stat-ssl-view"/> and <xref linkend="pg-stat-gssapi-view"/>
system views (Euler Taveira)
</para>
<para>
Queries that join these views to <xref
linkend="pg-stat-activity-view"/> and wish to see auxiliary processes
will need to use left joins.
</para>
</listitem>
<listitem>
<!--
Author: Peter Geoghegan <pg@bowt.ie>
2020-03-07 [691e8b2e1] pageinspect: Fix types used for bt_metap() columns.
-->
<para>
Fix <xref linkend="pageinspect"/>'s <function>bt_metap()</function>
to return more appropriate data types that are less likely to overflow
(Peter Geoghegan)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-03-19 [1d253bae5] Rename the recovery-related wait events.
-->
<para>
Rename some recovery-related <link linkend="wait-event-table">wait
events</link> (Fujii Masao)
</para>
<para>
Rename <literal>RecoveryWalAll</literal>
to <literal>RecoveryWalStream</literal>
and <literal>RecoveryWalStream</literal> to
<literal>RecoveryRetrieveRetryInterval</literal>.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2019-11-06 [979766c0a] Correct the command tags for ALTER ... RENAME COLUMN.
-->
<para>
Fix <link linkend="sql-alterforeigntable"><command>ALTER FOREIGN
TABLE ... RENAME COLUMN</command></link> to return a more appropriate
command tag (Fujii Masao)
</para>
<para>
Previously it returned <command>ALTER TABLE</command>, but now returns
<command>ALTER FOREIGN TABLE</command>.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2019-11-06 [979766c0a] Correct the command tags for ALTER ... RENAME COLUMN.
-->
<para>
Fix <link linkend="sql-altermaterializedview"><command>ALTER
MATERIALIZED VIEW ... RENAME COLUMN</command></link> to return a more
appropriate command tag (Fujii Masao)
</para>
<para>
Previously it returned <command>ALTER TABLE</command>, but now returns
<command>ALTER MATERIALIZED VIEW</command>.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-05 [84eca14bc] Remove ancient hacks to ignore certain opclass names in
-->
<para>
Remove support for defining <link linkend="sql-createopclass">operator
classes</link> using pre-<productname>PostgreSQL</productname>
8.0 syntax (Daniel Gustafsson)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-05 [e58a59975] Remove ancient support for upgrading pre-7.3 foreign key
-->
<para>
Remove support for defining <link linkend="sql-altertable">foreign key
constraints</link> using pre-<productname>PostgreSQL</productname>
7.3 syntax (Daniel Gustafsson)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-05 [bb03010b9] Remove the "opaque" pseudo-type and associated compatibi
-->
<para>
Remove support for "opaque" <link
linkend="sql-createtype">pseudo-types</link> used by
pre-<productname>PostgreSQL</productname> 7.3 servers (Daniel
Gustafsson)
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Changes</title>
<para>
Below you will find a detailed account of the changes between
<productname>PostgreSQL</productname> 13 and the previous major
release.
</para>
<sect3>
<title>Server</title>
<sect4>
<title><link linkend="ddl-partitioning">Partitioning</link></title>
<itemizedlist>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2019-08-07 [4e85642d9] Apply constraint exclusion more generally in partitionin
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2019-08-13 [815ef2f56] Don't constraint-exclude partitioned tables as much
-->
<para>
Improve cases where <link
linkend="ddl-partition-pruning">pruning</link> of partitions can happen
(Yuzuko Hosoya, Amit Langote, Álvaro Herrera)
</para>
</listitem>
<listitem>
<!--
Author: Etsuro Fujita <efujita@postgresql.org>
2020-04-08 [c8434d64c] Allow partitionwise joins in more cases.
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-07 [981643dcd] Allow partitionwise join to handle nested FULL JOIN USIN
-->
<para>
Allow <link linkend="guc-enable-partitionwise-join">partitionwise
joins</link> to happen in more cases (Ashutosh Bapat, Etsuro Fujita,
Amit Langote, Tom Lane)
</para>
<para>
For example, partitionwise joins can now happen between partitioned
tables even when their partition bounds do not match exactly.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-03-18 [487e9861d] Enable BEFORE row-level triggers for partitioned tables
-->
<para>
Allow <literal>BEFORE</literal> row-level <link
linkend="triggers">triggers</link> on partitioned tables (Álvaro
Herrera)
</para>
<para>
These triggers cannot change which partition is the destination.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-03-10 [17b9e7f9f] Support adding partitioned tables to publication
Author: Peter Eisentraut <peter@eisentraut.org>
2020-04-08 [83fd4532a] Allow publishing partition changes via ancestors
-->
<para>
Allow partitioned tables to be logically replicated via <link
linkend="sql-createpublication">publications</link> (Amit Langote)
</para>
<para>
Previously, partitions had to be replicated individually. Now
partitioned tables can be published explicitly causing all partitions
to be automatically published. Addition/removal of partitions from
partitioned tables are automatically added/removed from publications.
The <xref linkend="sql-createpublication"/> option
<literal>publish_via_partition_root</literal> controls whether
changes to partitions are published as their own or their
ancestor's.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-04-06 [f1ac27bfd] Add logical replication support to replicate into partit
-->
<para>
Allow logical replication into partitioned tables on subscribers
(Amit Langote)
</para>
<para>
Previously, subscribers could only receive rows into non-partitioned
tables.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-12-25 [bb4114a4e] Allow whole-row Vars to be used in partitioning expressi
-->
<para>
Allow <link linkend="rowtypes"><literal>ROW</literal> values</link>
to be used as partitioning expressions (Amit Langote)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>Indexes</title>
<itemizedlist>
<listitem>
<!--
Author: Peter Geoghegan <pg@bowt.ie>
2020-02-26 [0d861bbb7] Add deduplication to nbtree.
-->
<para>
More efficiently store <link
linkend="btree-deduplication">duplicates</link> in btree indexes
(Anastasia Lubennikova, Peter Geoghegan)
</para>
<para>
This allows efficient btree indexing of low cardinality columns
by storing duplicate keys only once. Users upgrading
with <xref linkend="pgupgrade"/> will need to use <xref
linkend="sql-reindex"/> to make use of this feature.
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2019-07-14 [c085e1c1c] Add support for <-> (box, point) operator to GiST box_op
Author: Alexander Korotkov <akorotkov@postgresql.org>
2019-07-14 [075f0a880] Add support for <-> (box, point) operator to SP-GiST box
-->
<para>
Allow <xref linkend="gist"/> and <xref
linkend="spgist"/> indexes for <link
linkend="datatype-line">box</link>/point distance lookups (Nikita
Glukhov)
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2020-01-18 [4b754d6c1] Avoid full scan of GIN indexes when possible
-->
<para>
Allow <xref linkend="gin"/> indexes to more efficiently handle
<literal>NOT</literal> restrictions (Nikita Glukhov, Alexander
Korotkov, Tom Lane, Julien Rouhaud)
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2020-03-30 [911e70207] Implement operator class parameters
-->
<para>
Allow <link linkend="sql-createindex">index operator classes</link>
to take parameters (Nikita Glukhov)
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2020-03-30 [911e70207] Implement operator class parameters
-->
<para>
Allow <command>CREATE INDEX</command> to specify the GiST signature
length and maximum number of integer ranges (Nikita Glukhov)
</para>
<para>
Indexes created on four and eight-byte <link linkend="intarray">integer
array</link>, <link linkend="textsearch">tsvector</link>,
<xref linkend="pgtrgm"/>, <xref linkend="ltree"/>, and <xref
linkend="hstore"/> columns can now control these GiST index parameters,
rather than using the defaults.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-12-06 [fbbf68094] Disallow non-default collation in ADD PRIMARY KEY/UNIQUE
-->
<para>
Prevent indexes that use non-default collations from being <link
linkend="sql-altertable">added</link> as a table's unique or primary
key constraint (Tom Lane)
</para>
<para>
The index and column collations must now match so the index's
uniqueness matches the column's uniqueness.
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>Optimizer</title>
<itemizedlist>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-01 [a80818605] Improve selectivity estimation for assorted match-style
-->
<para>
Improve the optimizer's <link
linkend="planner-stats-details">selectivity</link> estimation for
containment/match operators (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2019-09-11 [d06215d03] Allow setting statistics target for extended statistics
-->
<para>
Allow setting <link linkend="sql-altertable">statistics target</link>
for <link linkend="sql-createstatistics">extended statistics</link>
(Tomas Vondra)
</para>
<para>
This is controlled with the new command option <command>ALTER
STATISTICS ... SET STATISTICS</command>. Previously this was computed
based on more general statistics target settings.
</para>
</listitem>
<listitem>
<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2020-01-13 [aaa676187] Apply all available functional dependencies
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2020-01-13 [eae056c19] Apply multiple multivariate MCV lists when possible
-->
<para>
Allow use of multiple extended statistics objects in a single query
(Tomas Vondra)
</para>
</listitem>
<listitem>
<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2020-03-14 [8f321bd16] Use functional dependencies to estimate ScalarArrayOpExp
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2020-03-14 [e83daa7e3] Use multi-variate MCV lists to estimate ScalarArrayOpExp
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2020-03-18 [ccaa3569f] Recognize some OR clauses as compatible with functional
-->
<para>
Allow use of extended statistics objects for OR clauses and <link
linkend="functions-subquery">IN</link>/<literal>ANY</literal> constant
lists (Pierre Ducroquet, Tomas Vondra)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-08-01 [7266d0997] Allow functions-in-FROM to be pulled up if they reduce t
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-09-24 [a9ae99d01] Prevent bogus pullup of constant-valued functions return
-->
<para>
Allow functions in <literal>FROM</literal> clauses to be moved to their
reference sites if they evaluate to constants (Alexander Kuzmenkov,
Aleksandr Parfenov)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>General Performance</title>
<itemizedlist>
<listitem>
<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2020-04-06 [d2d8a229b] Implement Incremental Sort
-->
<para>
Implement <link linkend="guc-enable-incrementalsort">incremental
sorting</link> (James Coleman, Alexander Korotkov, Tomas Vondra)
</para>
<para>
If a result is already sorted by several leading keys, this
allows for batch sorting of additional trailing keys because the
previous keys are already equal. This is controlled by <xref
linkend="guc-enable-incrementalsort"/>.
</para>
</listitem>
<listitem>
<!--
Author: Peter Geoghegan <pg@bowt.ie>
2019-08-01 [71dcd7438] Add sort support routine for the inet data type.
-->
<para>
Improve the performance of sorting <link
linkend="datatype-inet">inet</link> values (Brandur Leach)
</para>
</listitem>
<listitem>
<!--
Author: Jeff Davis <jdavis@postgresql.org>
2020-03-18 [1f39bce02] Disk-based Hash Aggregation.
Author: Jeff Davis <jdavis@postgresql.org>
2020-03-24 [dd8e19132] Consider disk-based hash aggregation to implement DISTIN
-->
<para>
Allow <link linkend="guc-enable-hashagg">hash aggregation</link>
to use disk storage for large aggregation result sets (Jeff Davis)
</para>
<para>
Previously, hash aggregation was avoided if it was expected to use
more than <xref linkend="guc-work-mem"/> memory. This is controlled
by <xref linkend="guc-enable-hashagg-disk"/>.
</para>
</listitem>
<listitem>
<!--
Author: Jeff Davis <jdavis@postgresql.org>
2020-03-18 [1f39bce02] Disk-based Hash Aggregation.
-->
<para>
Allow <link linkend="queries-grouping-sets">grouping sets</link> to
use hash aggregation with disk storage for large grouping set results
(Jeff Davis)
</para>
<para>
Previously, hash aggregation was avoided if it was expected to use
more than <xref linkend="guc-work-mem"/> memory. This is controlled
by <xref linkend="guc-enable-groupingsets-hash-disk"/>.
</para>
</listitem>
<listitem>
<!--
Author: David Rowley <drowley@postgresql.org>
2020-03-28 [b07642dbc] Trigger autovacuum based on number of INSERTs
-->
<para>
Allow inserts to trigger <xref linkend="autovacuum"/> activity
(Laurenz Albe, Darafei Praliaskouski)
</para>
<para>
This new behavior reduces the work necessary when the table needs to
be frozen and allows pages to be set as all-visible. All-visible pages
allow index-only scans to access fewer heap rows.
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2020-03-16 [fc34b0d9d] Introduce a maintenance_io_concurrency setting.
-->
<para>
Add <xref linkend="guc-maintenance-io-concurrency"/> to control I/O
concurrency for maintenance operations (Thomas Munro)
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
2020-04-04 [c6b92041d] Skip WAL for new relfilenodes, under wal_level=minimal.
-->
<para>
Allow skipping of <acronym>WAL</acronym> for <link
linkend="guc-full-page-writes">full table writes</link> if <xref
linkend="guc-wal-level"/> is <literal>minimal</literal> (Kyotaro
Horiguchi)
</para>
<para>
Relations larger than <xref linkend="guc-wal-skip-threshold"/>
will have their files fsync'ed rather than generating
<acronym>WAL</acronym>. Previously this was done only for
<command>COPY</command> operations, but the implementation had a bug
that could cause data loss during crash recovery.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-03-28 [8f3ec75de] Enable Unix-domain sockets support on Windows
-->
<para>
Enable <link linkend="client-authentication">Unix-domain sockets</link>
support on Windows (Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2019-11-21 [e6d806952] Make DROP DATABASE command generate less WAL records.
-->
<para>
Improve the performance when replaying <xref
linkend="sql-dropdatabase"/> commands when many tablespaces are
in use (Fujii Masao)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2019-09-24 [6d05086c0] Speedup truncations of relation forks.
-->
<para>
Improve performance for <link linkend="sql-truncate">truncation</link>
of very large relations (Kirk Jamison)
</para>
</listitem>
<listitem>
<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2019-10-01 [11a078cf8] Optimize partial TOAST decompression
-->
<para>
Improve speed of <xref linkend="storage-toast"/> decompression and
the retrieval of only the leading bytes of <acronym>TOAST</acronym>
values (Binguo Bao, Andrey Borodin)
</para>
<para>
Previously, <acronym>TOAST</acronym> values were fully fetched and
only the requested leading bytes were decompressed and returned.
Now, only the requested bytes are fetched.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-09-10 [bca6e6435] Reduce overhead of scanning the backend[] array in LISTE
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-09-22 [51004c717] Make some efficiency improvements in LISTEN/NOTIFY.
-->
<para>
Improve performance of <xref
linkend="sql-listen"/>/<command>NOTIFY</command> (Martijn van
Oosterhout)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-08-15 [bb5ae8f6c] Use a hash table to de-duplicate NOTIFY events faster.
-->
<para>
Improve the efficiency of removing duplicate <xref
linkend="sql-notify"/> events (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
2020-02-01 [1fd687a03] Optimizations for integer to decimal output.
-->
<para>
Use lookup tables to speed up integer to text conversion (David Fetter)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-07-10 [b5810de3f] Reduce memory consumption for multi-statement query stri
-->
<para>
Reduce memory usage for query strings that contain multiple
<acronym>SQL</acronym> statements (Amit Langote)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>Monitoring</title>
<itemizedlist>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2020-04-05 [6b466bf5f] Allow pg_stat_statements to track WAL usage statistics.
Author: Amit Kapila <akapila@postgresql.org>
2020-04-06 [33e05f89c] Add the option to report WAL usage in EXPLAIN and auto_e
Author: Amit Kapila <akapila@postgresql.org>
2020-04-06 [b7ce6de93] Allow autovacuum to log WAL usage statistics.
-->
<para>
Allow <xref linkend="sql-explain"/>,
<xref linkend="auto-explain"/>, <xref
linkend="autovacuum"/>, and <xref
linkend="pgstatstatements"/> to track <acronym>WAL</acronym> usage
statistics (Kirill Bychik, Julien Rouhaud)
</para>
</listitem>
<listitem>
<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2019-11-06 [6e3e6cc0e] Allow sampling of statements depending on duration
-->
<para>
Allow a sample of statements to be logged (Adrien Nayrat)
</para>
<para>
A <xref linkend="guc-log-statement-sample-rate"/> ratio of statements
taking over <xref linkend="guc-log-min-duration-sample"/> duration
will be logged.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-03-15 [70a7b4776] Add backend type to csvlog and optionally log_line_prefi
-->
<para>
Add the backend type to <link
linkend="runtime-config-logging">csvlog</link> and optionally <xref
linkend="guc-log-line-prefix"/> log output (Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2019-12-11 [ba79cb5dc] Emit parameter values during query bind/execute errors
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-02 [0b34e7d30] Improve user control over truncation of logged bind-para
-->
<para>
Improve control of prepared statement parameter logging (Alexey
Bashtanov, Álvaro Herrera)
</para>
<para>
The <acronym>GUC</acronym> setting <xref
linkend="guc-log-parameter-max-length"/> controls the maximum length
of parameter values output during statement non-error logging, and
<xref linkend="guc-log-parameter-max-length-on-error"/> does the
same for error statement logging. Previously, prepared statement
parameters were not logged during errors.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-02-05 [15d13e829] Make vacuum buffer counters 64 bits wide
-->
<para>
Make <xref linkend="sql-vacuum"/> buffer counters 64-bits
wide to avoid overflow (Álvaro Herrera)
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2019-11-08 [71a8a4f6e] Add backtrace support for error reporting
-->
<para>
Allow function call backtraces of errors to be logged (Peter
Eisentraut, Álvaro Herrera)
</para>
<para>
Server variable <xref linkend="guc-backtrace-functions"/> specifies
which C functions should generate backtraces on error.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2019-07-05 [313f87a17] Add min() and max() aggregates for pg_lsn
-->
<para>
Add <function>min()</function> and
<function>max()</function> aggregates for <link
linkend="datatype-pg-lsn"><type>pg_lsn</type></link> (Fabrízio
de Royes Mello)
</para>
<para>
This is useful for monitoring queries.
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>System Views</title>
<itemizedlist>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2020-02-06 [b025f32e0] Add leader_pid to pg_stat_activity
-->
<para>
Add <structfield>leader_pid</structfield> to <xref
linkend="pg-stat-activity-view"/> to report parallel worker ownership
(Julien Rouhaud)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-03-03 [e65497df8] Report progress of streaming base backup.
-->
<para>
Add system view <link
linkend="basebackup-progress-reporting"><structname>pg_stat_progress_basebackup</structname></link>
to report the progress of streaming base backups (Fujii Masao)
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-01-15 [a166d408e] Report progress of ANALYZE commands
-->
<para>
Add system view <link
linkend="monitoring-stats-dynamic-views-table"><structname>pg_stat_progress_analyze</structname></link>
to report <xref linkend="sql-analyze"/> progress (Álvaro
Herrera, Tatsuro Yamada, Vinayak Pokale)
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2019-11-21 [9290ad198] Track statistics for spilling of changes from ReorderBuf
-->
<para>
Add columns to the <link
linkend="monitoring-stats-dynamic-views-table"><structname>pg_stat_replication</structname></link>
system view to report how much logical decoding information has been
spilled to disk (Tomas Vondra)
</para>
</listitem>
<listitem>
<!--
Author: Robert Haas <rhaas@postgresql.org>
2020-01-09 [ed10f32e3] Add pg_shmem_allocations view.
-->
<para>
Add system view <link
linkend="view-pg-shmem-allocations"><structname>pg_shmem_allocations</structname></link>
to display shared memory usage (Andres Freund, Robert Haas)
</para>
</listitem>
<listitem>
<!--
Author: Tomas Vondra <tomas.vondra@postgresql.org>
2020-04-02 [28cac71bd] Collect statistics about SLRU caches
-->
<para>
Create <link
linkend="monitoring-stats-views-table"><structname>pg_stat_slru</structname></link>
system view to monitor internal <acronym>SLRU</acronym> caches
(Tomas Vondra)
</para>
</listitem>
<listitem>
<!--
Author: Robert Haas <rhaas@postgresql.org>
2020-01-07 [814727858] Increase the maximum value of track_activity_query_size.
-->
<para>
Allow <xref linkend="guc-track-activity-query-size"/> to be set up
to 1MB (Vyacheslav Makarov)
</para>
<para>
The previous maximum was 100kB.
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title><link linkend="wait-event-table">Wait Events</link></title>
<itemizedlist>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2020-01-31 [ef02fb15a] Report time spent in posix_fallocate() as a wait event.
-->
<para>
Add wait event for <function>posix_fallocate()</function> (Thomas
Munro)
</para>
</listitem>
<listitem>
<!--
Author: Andres Freund <andres@anarazel.de>
2020-03-23 [cedffbdb8] Report wait event for cost-based vacuum delay.
-->
<para>
Add wait event VacuumDelay to report on cost-based vacuum delay
(Justin Pryzby)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-03-24 [b8e20d6da] Add wait events for WAL archive and recovery pause.
-->
<para>
Add wait events for <acronym>WAL</acronym> archive and recovery pause
(Fujii Masao)
</para>
<para>
The new events are BackupWaitWalArchive and RecoveryPause.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-04-03 [18808f8c8] Add wait events for recovery conflicts.
-->
<para>
Add wait events RecoveryConflictSnapshot and
RecoveryConflictTablespace to monitor recovery conflicts (Masahiko
Sawada)
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2020-02-05 [815c2f097] Add kqueue(2) support to the WaitEventSet API.
-->
<para>
Improve performance of wait events on <acronym>BSD</acronym>-based
systems (Thomas Munro)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title><acronym>Authentication</acronym></title>
<itemizedlist>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-03-09 [d9249441e] Mark ssl_passphrase_command as GUC_SUPERUSER_ONLY.
-->
<para>
Only allow superusers to view the <xref
linkend="guc-ssl-passphrase-command"/> setting (Insung Moon)
</para>
<para>
This was changed as a security precaution.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-12-04 [b1abfec82] Update minimum SSL version
-->
<para>
Change the default minimum <acronym>TLS</acronym> version from 1.0
to 1.2 (Peter Eisentraut)
</para>
<para>
This is controlled by <xref linkend="guc-ssl-min-protocol-version"/>.
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title>Server Configuration</title>
<itemizedlist>
<listitem>
<!--
Author: Robert Haas <rhaas@postgresql.org>
2020-01-16 [2eb34ac36] Fix problems with "read only query" checks, and refactor
-->
<para>
Tighten rules on which utility commands are possible in <xref
linkend="guc-default-transaction-read-only"/> mode (Robert Haas)
</para>
<para>
This also increases the number of utility commands that can run in
parallel queries.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-11-29 [c4a7a392e] Make allow_system_table_mods settable at run time
-->
<para>
Allow <xref linkend="guc-allow-system-table-mods"/> to be changed
after server start (Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-11-29 [508bf95b7] Remove any-user DML capability from allow_system_table_m
-->
<para>
Disallow non-superusers from modifying system tables when <xref
linkend="guc-allow-system-table-mods"/> is set (Peter Eisentraut)
</para>
<para>
Previously, if <xref linkend="guc-allow-system-table-mods"/>
was set at server start, non-superusers could issue
<command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command>
commands on system tables.
</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
<sect3>
<title>Streaming Replication and Recovery</title>
<itemizedlist>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-03-27 [1e6148032] Allow walreceiver configuration to change on reload
-->
<para>
Allow streaming replication configuration settings to be changed by
reload (Sergei Kornilov)
</para>
<para>
Previously, a server restart was required to change
<xref linkend="guc-primary-conninfo"/> and <xref
linkend="guc-primary-slot-name"/>.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-01-14 [329730827] walreceiver uses a temporary replication slot by default
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-03-27 [092c6936d] Set wal_receiver_create_temp_slot PGC_POSTMASTER
-->
<para>
Allow <acronym>WAL</acronym> receivers use a temporary replication slot
if a permanent one is not specified (Peter Eisentraut, Sergei Kornilov)
</para>
<para>
This behavior can be enabled using <xref
linkend="guc-wal-receiver-create-temp-slot"/>.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-04-07 [c65507763] Allow users to limit storage reserved by replication slo
-->
<para>
Allow replication slot storage to be limited by <xref
linkend="guc-max-slot-wal-keep-size"/> (Kyotaro Horiguchi)
</para>
<para>
Replication slots that exceed this value are invalidated.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-03-24 [496ee647e] Prefer standby promotion over recovery pause.
-->
<para>
Allow <link linkend="guc-promote-trigger-file">standby promotion</link>
to cancel any requested pause (Fujii Masao)
</para>
<para>
Previously, promotion could not happen while the standby was in
paused state.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-01-29 [dc788668b] Fail if recovery target is not reached
-->
<para>
Generate an error if recovery does not reach the specified <link
linkend="runtime-config-wal-recovery-target">recovery target</link>
(Leif Gunnar Erlandsen, Peter Eisentraut)
</para>
<para>
Previously, the end of the <acronym>WAL</acronym> would promote the
standby, even if the target was not reached.
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2019-11-19 [cec2edfa7] Add logical_decoding_work_mem to limit ReorderBuffer mem
-->
<para>
Allow control over how much memory is used by logical decoding before
it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila)
</para>
<para>
This is controlled by <xref linkend="guc-logical-decoding-work-mem"/>.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-01-22 [41c184bc6] Add GUC ignore_invalid_pages.
-->
<para>
Allow <acronym>WAL</acronym> recovery to continue even if invalid
pages are referenced (Fujii Masao)
</para>
<para>
This is enabled using <xref linkend="guc-ignore-invalid-pages"/>.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Utility Commands</title>
<itemizedlist>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2020-01-20 [40d964ec9] Allow vacuum command to process indexes in parallel.
-->
<para>
Allow <xref linkend="sql-vacuum"/> to process indexes in parallel
(Masahiko Sawada, Amit Kapila)
</para>
<para>
The new <literal>PARALLEL</literal> option controls this.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-04-07 [357889eb1] Support FETCH FIRST WITH TIES
-->
<para>
Allow <link linkend="sql-limit"><command>FETCH FIRST</command></link>
to use <literal>WITH TIES</literal> to return any additional rows
that match the last result row (Surafel Temesgen)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-04-04 [ce77abe63] Include information on buffer usage during planning phas
-->
<para>
Report planning-time buffer usage in <xref linkend="sql-explain"/>'s
<literal>BUFFER</literal> output (Julien Rouhaud)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-10 [cacef1722] Ensure that CREATE TABLE LIKE copies any NO INHERIT cons
-->
<para>
Have <link linkend="sql-createtable"><command>CREATE TABLE
LIKE</command></link> propagate <literal>CHECK</literal>'s <literal>NO
INHERIT</literal> property to created tables (Ildar Musin, Chris
Travers)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-02-18 [b7e51b350] Make inherited LOCK TABLE perform access permission chec
-->
<para>
When using <link linkend="sql-lock"><command>LOCK
TABLE</command></link> on a partitioned table, do not check permissions
on the child tables (Amit Langote)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-03-31 [de3bbfcc9] Fix INSERT OVERRIDING USER VALUE behavior
-->
<para>
Allow <link linkend="sql-insert"><literal>OVERRIDING USER
VALUE</literal></link> on inserts into identity columns (Dean Rasheed)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-01-14 [f595117e2] ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION
-->
<para>
Add <xref linkend="sql-altertable"/> clause <literal>DROP
EXPRESSION</literal> to remove generated properties from columns
(Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-01-15 [1281a5c90] Restructure ALTER TABLE execution to fix assorted bugs.
-->
<para>
Fix bugs in <command>ALTER TABLE</command> when later clauses overlap
changes made by earlier clauses in the same command (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2019-11-21 [30840c92a] Allow ALTER VIEW command to rename the column in the vie
-->
<para>
Add <xref linkend="sql-alterview"/> syntax to rename view columns
(Fujii Masao)
</para>
<para>
This was previously possible only using <command>ALTER TABLE RENAME
COLUMN</command>.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-06 [fe30e7ebf] Allow ALTER TYPE to change some properties of a base typ
-->
<para>
Add <xref linkend="sql-altertype"/> options useful for extensions,
like <acronym>TOAST</acronym> and I/O functions control (Tomas
Vondra, Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-07-23 [06140c201] Add CREATE DATABASE LOCALE option
-->
<para>
Add <xref linkend="sql-createdatabase"/> <literal>LOCALE</literal>
option (Peter Eisentraut)
</para>
<para>
This combines existing options <literal>LC_COLLATE</literal> and
<literal>LC_CTYPE</literal> into a single option.
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2019-11-13 [1379fd537] Introduce the 'force' option for the Drop Database comma
-->
<para>
Allow <xref linkend="sql-dropdatabase"/> to disconnect users so
drop succeeds (Pavel Stehule, Amit Kapila)
</para>
<para>
This is enabled by <literal>WITH FORCE</literal>.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-03-09 [71d60e2aa] Add tg_updatedcols to TriggerData
-->
<para>
Add C structure member <link
linkend="trigger-interface"><structfield>tg_updatedcols</structfield></link>
to record updated columns to C triggers (Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-03-20 [4e6209134] pg_dump: Add FOREIGN to ALTER statements, if appropriate
-->
<para>
Add <literal>FOREIGN</literal> to <command>ALTER</command> statements,
if appropriate (Luis Carril)
</para>
<para>
WHAT IS THIS ABOUT?
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Data Types</title>
<itemizedlist>
<listitem>
<!--
Tom Lane <tgl@sss.pgh.pa.us>
2020-03-19 [24e2885ee] Introduce "anycompatible" family of polymorphic types.
-->
<para>
Add polymorphic data types for use by functions requiring compatible
arguments (Pavel Stehule)
</para>
<para>
The new data types are <link
linkend="datatype-pseudotypes-table">anycompatible</link>,
anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2020-04-07 [aeec457de] Add SQL type xid8 to expose FullTransactionId to users.
-->
<para>
Add <acronym>SQL</acronym> data type <link
linkend="datatype-oid">xid8</link> to expose FullTransactionId
(Thomas Munro)
</para>
<para>
The xid data type is only four bytes so does not show the transaction
epoch.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-03-18 [a2b1faa0f] Implement type regcollation
-->
<para>
Add data type <link linkend="datatype-oid">regcollation</link> and
helper functions for system collations (Julien Rouhaud)
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2019-10-16 [d5ac14f9c] Use libc version as a collation version on glibc systems
-->
<para>
Use the glibc version in some cases as the <link
linkend="collation">collation</link> version (Thomas Munro)
</para>
<para>
If the glibc version changes, a warning will be issued when a
mismatching collation is used.
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2020-03-25 [352f6f2df] Add collation versions for Windows.
-->
<para>
Add support for collation versions on Windows (Thomas Munro)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-10-28 [8b7a0f1d1] Allow extracting fields from a ROW() expression in more
-->
<para>
Allow <link linkend="rowtypes"><literal>ROW</literal> values</link>
values to have their members extracted with suffix notation (Tom Lane)
</para>
<para>
For example, <literal>(ROW(4, 5.0)).f1</literal> returns 4.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Functions</title>
<itemizedlist>
<listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2020-01-17 [a83586b55] Add a non-strict version of jsonb_set
-->
<para>
Add alternate version of <link
linkend="functions-json-processing-table"><function>jsonb_setI()</function></link>
with special <literal>NULL</literal> handling (Andrew Dunstan)
</para>
<para>
The new function, <function>jsonb_set_lax()</function>, allows null
new values to either set the specified key to <acronym>JSON</acronym>
null, delete the key, raise exception, or ignore the operation.
IS 'return_target' CLEAR?
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2019-09-25 [bffe1bd68] Implement jsonpath .datetime() method
-->
<para>
Add jsonpath <link
linkend="functions-sqljson-path-operators">.<function>datetime()</function></link>
method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander
Korotkov)
</para>
<para>
This allows json values to be converted to timestamps, which can
then be processed in jsonpath expressions. This also adds jsonpath
functions that support time zone-aware output.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-04-02 [2991ac5fc] Add SQL functions for Unicode normalization
-->
<para>
Add <acronym>SQL</acronym> functions <link
linkend="functions-string-sql"><literal>NORMALIZE</literal>()</link>
to normalize Unicode strings, and <link
linkend="collation-nondeterministic"><literal>IS
NORMALIZED</literal></link> to check for normalization (Peter
Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-06 [a6525588b] Allow Unicode escapes in any server encoding, not only U
-->
<para>
Allow <link linkend="sql-syntax-strings-uescape">Unicode
escapes</link>, e.g., E'\u####', U&'\####', to specify any
character available in the database encoding, even when the database
encoding is not <acronym>UTF</acronym>-8 (Tom Lane)
</para>
<para>
The Unicode characters must be available in the database encoding.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-03 [d67755049] Allow to_date/to_timestamp to recognize non-English mont
-->
<para>
Allow <link
linkend="functions-formatting"><function>to_date()</function></link>
and <function>to_timestamp()</function> to recognize non-English
month/day names (Juan José Santamaría Flecha, Tom Lane)
</para>
<para>
The names recognized are the same as those output by <link
linkend="functions-formatting"><function>to_char()</function></link>
with the same format codes.
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2019-09-16 [d589f9446] Support for FF1-FF6 datetime format patterns
-->
<para>
Add format specifications FF1-FF6 to control display of 1-6 subsecond
digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg
Bartunov)
</para>
<para>
These patterns can be used by <function>to_char()</function>,
<function>to_timestamp()</function>, and jsonpath's
.<function>datetime()</function>.
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2019-09-16 [b64b857f5] Support for SSSSS datetime format pattern
-->
<para>
Add <literal>SSSSS</literal> time format specification as an
<acronym>SQL</acronym> standard alias for <literal>SSSS</literal>
(Nikita Glukhov, Alexander Korotkov)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-07-14 [5925e5549] Add gen_random_uuid function
-->
<para>
Add function <link
linkend="functions-uuid"><function>gen_random_uuid()</function></link>
to generate version 4 UUIDs (Peter Eisentraut)
</para>
<para>
Previously <acronym>UUID</acronym> generation functions were only
available via external modules <xref linkend="uuid-ossp"/> and <xref
linkend="pgcrypto"/>.
</para>
</listitem>
<listitem>
<!--
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
2020-01-25 [13661ddd7] Add functions gcd() and lcm() for integer and numeric ty
-->
<para>
Add greatest-common-denominator (<link
linkend="functions-math-func-table">gcd</link>) and
least-common-multiple (lcm) functions (Vik Fearing)
</para>
</listitem>
<listitem>
<!--
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
2020-03-01 [43a899f41] Fix corner-case loss of precision in numeric ln().
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
2020-03-28 [4083f445c] Improve the performance and accuracy of numeric sqrt() a
-->
<para>
Improve the performance and accuracy of <link
linkend="functions-math-func-table">square root</link> and natural log
(ln) output (Dean Rasheed)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-01-06 [20d6225d1] Add functions min_scale(numeric) and trim_scale(numeric)
-->
<para>
Add function <link
linkend="functions-math-func-table"><function>min_scale()</function></link>
that returns the number of digits to the right the decimal point
that is required to represent the numeric value with full precision
(Pavel Stehule)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-01-06 [20d6225d1] Add functions min_scale(numeric) and trim_scale(numeric)
-->
<para>
Add function <link
linkend="functions-math-func-table"><function>trim_scale()</function></link>
to reduce the scale of a number by removing trailing zeros (Pavel
Stehule)
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2019-07-14 [6254c55f8] Add missing commutators for distance operators
-->
<para>
Add commutators of <link linkend="functions-geometry-op-table">distance
operators</link> (Nikita Glukhov)
</para>
<para>
For example, previously only point <-> line was supported,
now line <-> point works too.
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2020-04-07 [4c04be9b0] Introduce xid8-based functions to replace txid_XXX.
-->
<para>
Create xid8 versions of all <link
linkend="functions-pg-snapshot">transaction id functions</link>
(Thomas Munro)
</para>
<para>
The old function names were kept for backward compatibility. DO WE
HAVE NEW NAMES?
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-07 [26a944cf2] Adjust bytea get_bit/set_bit to use int8 not int4 for bi
-->
<para>
Allow <link
linkend="functions-binarystring-other"><function>get_bit()</function></link>
and <function>set_bit()</function> to set bits beyond 256MB of bytea
data (Movead Li)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-08-01 [4886da832] Mark advisory-lock functions as parallel restricted, not
-->
<para>
Allow <link linkend="functions-advisory-locks">advisory-lock
functions</link> to be used in some parallel operations (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-04-20 [5fc703946] Add ALTER .. NO DEPENDS ON
-->
<para>
Add the ability to remove an object's dependency on an extension
(Álvaro Herrera)
</para>
<para>
The object can be a function, materialized view, index, or trigger.
The syntax is <command>ALTER .. NO DEPENDS ON</command>.
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title><xref linkend="plpgsql"/></title>
<itemizedlist>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-26 [8f59f6b9c] Improve performance of "simple expressions" in PL/pgSQL.
-->
<para>
Improve performance of simple PL/pgSQL expressions (Tom Lane,
Amit Langote)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-11-22 [73b06cf89] Avoid taking a new snapshot for an immutable simple expr
-->
<para>
Improve the performance of PL/pgSQL functions that use immutable
expressions (Konstantin Knizhnik)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Client Interfaces</title>
<itemizedlist>
<listitem>
<!--
Author: Jeff Davis <jdavis@postgresql.org>
2019-09-23 [d6e612f83] Add libpq parameter 'channel_binding'.
-->
<para>
Allow libpq clients to require channel binding (Jeff Davis)
</para>
<para>
Using the libpq connection parameter <link
linkend="libpq-connect-channel-binding"><literal>channel_binding</literal></link>
forces the other end of the <acronym>TLS</acronym> connection to prove
it knows the user's password. This prevents man-in-the-middle attacks.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2020-01-28 [ff8ca5fad] Add connection parameters to control SSL protocol min/ma
Author: Michael Paquier <michael@paquier.xyz>
2020-04-30 [401aad670] Rename connection parameters to control min/max SSL prot
-->
<para>
Add libpq connection parameters to control the min/max
<acronym>TLS</acronym> version (Daniel Gustafsson)
</para>
<para>
The settings are <xref
linkend="libpq-connect-ssl-min-protocol-version"/> and <xref
linkend="libpq-connect-ssl-max-protocol-version"/>.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-03-05 [2eb3bc588] Fix issues around .pgpass file.
-->
<para>
Tighten line length and comment detection in <link
linkend="libpq-pgpass">.pgpass</link> files (Fujii Masao)
</para>
</listitem>
<listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2019-11-30 [4dc635521] libq support for sslpassword connection param, DER form
-->
<para>
Allow specification of passwords to unlock client certificates (Craig
Ringer, Andrew Dunstan)
</para>
<para>
This is specified by the <xref linkend="libpq-connect-sslpassword"/>
connection option.
</para>
</listitem>
<listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2019-11-30 [4dc635521] libq support for sslpassword connection param, DER form
-->
<para>
Allow <acronym>DER</acronym>-encoded client certificates (Craig Ringer,
Andrew Dunstan)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Client Applications</title>
<sect4>
<title><xref linkend="app-psql"/></title>
<itemizedlist>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2020-02-12 [dcdbb5a5d] Add %x to default PROMPT1 and PROMPT2 in psql
-->
<para>
Add the transaction status (%x) to the default <link
linkend="app-psql-prompting"><application>psql</application>
prompts</link> (Vik Fearing)
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2019-11-19 [7f338369c] Allow invisible PROMPT2 in psql.
-->
<para>
Allow the secondary <application>psql</application> prompt to be same
number of spaces as the primary prompt (Thomas Munro)
</para>
<para>
This is accomplished by setting PROMPT2 to %w.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-07 [b63c293bc] Allow psql's \g and \gx commands to transiently change \
-->
<para>
Allow <link linkend="app-psql-meta-commands">\g</link> and \gx to
change any <link linkend="app-psql-meta-commands">\pset</link> output
options for a single command (Tom Lane)
</para>
<para>
This allows syntax like \g (expand=on), which is equivalent to \gx.
</para>
</listitem>
<listitem>
<!--
Author: Alexander Korotkov <akorotkov@postgresql.org>
2020-03-08 [b0b5e20cd] Show opclass and opfamily related information in psql
-->
<para>
Add <application>psql</application> commands to report operator
classes and operator families (Sergey Cherkashin, Nikita Glukhov,
Alexander Korotkov)
</para>
<para>
The new commands are <link
linkend="app-psql-meta-commands">\dAc</link>, \dAf, \dAo, and \dAp.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-07-03 [9a2ea6183] Show table persistence in psql's \dt+ and related comman
-->
<para>
Show table persistence in <application>psql</application>'s <link
linkend="app-psql-meta-commands">\dt+</link> and related commands
(David Fetter)
</para>
<para>
In verbose mode, the table/index/view shows if the object is permanent,
temporary, or unlogged.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-07-23 [eb5472da9] Improve psql's \d output for TOAST tables.
-->
<para>
Improve output of <application>psql</application> <link
linkend="app-psql-meta-commands">\d</link> for <acronym>TOAST</acronym>
tables (Justin Pryzby)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-11-22 [d1c866e57] Make psql redisplay the query buffer after \e.
-->
<para>
Adjust display of <application>psql</application>'s <link
linkend="app-psql-meta-commands">\e</link> query (Tom Lane)
</para>
<para>
When exiting the editor, if the query doesn't end with a semicolon
or \g, the query buffer contents will now be displayed.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-07-05 [02e95a504] Add \warn command to psql.
-->
<para>
Add <link linkend="app-psql-meta-commands">\warn</link> command to
<application>psql</application> (David Fetter)
</para>
<para>
This is like \echo except that the text is sent to stderr instead
of stdout.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-02-28 [1933ae629] Add PostgreSQL home page to - -help output
-->
<para>
Add the <productname>PostgreSQL</productname> home page to command-line
<option>--help</option> output (Peter Eisentraut)
</para>
</listitem>
</itemizedlist>
</sect4>
<sect4>
<title><link linkend="pgbench"><application>pgbench</application></link></title>
<itemizedlist>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2019-10-03 [b1c1aa531] pgbench: add - -partitions and - -partition-method options
-->
<para>
Allow pgbench to partition its 'accounts' table (Fabien Coelho)
</para>
<para>
This allows performance testing of partitioning.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2020-04-03 [9d8ef9880] Add support for \aset in pgbench
-->
<para>
Add pgbench command \aset, which behaves like \gset, but for multiple
queries (Fabien Coelho)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2019-11-06 [a386942bd] Add "G" (server-side data generation) as an initializati
-->
<para>
Allow pgbench to generate its data server-side, rather than client side
(Fabien Coelho)
</para>
</listitem>
<listitem>
<!--
Author: Thomas Munro <tmunro@postgresql.org>
2019-07-16 [5823677ac] Provide pgbench - -show-script to dump built-in scripts.
-->
<para>
Allow pgbench to dump script contents using
<option>--show-script</option> (Fabien Coelho)
</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
<sect3>
<title>Server Applications</title>
<itemizedlist>
<listitem>
<!--
Author: Robert Haas <rhaas@postgresql.org>
2020-04-03 [0d8c9c121] Generate backup manifests for base backups, and validate
Author: Robert Haas <rhaas@postgresql.org>
2020-04-12 [dbc60c559] Rename pg_validatebackup to pg_verifybackup.
-->
<para>
Generate backup manifests for base backups, and verify them (Robert
Haas)
</para>
<para>
A new tool <application><xref
linkend="app-pgverifybackup"/></application> can verify backups.
</para>
</listitem>
<listitem>
<!--
Author: Author: Fujii Masao <fujii@postgresql.org>
2020-03-19 [fab13dc50] Make pg_basebackup ask the server to estimate the total
-->
<para>
Have <application><xref
linkend="app-pgbasebackup"/></application> estimate the
total backup size by default (Fujii Masao)
</para>
<para>
This computation allows <link
linkend="monitoring-stats-dynamic-views-table"><structname>pg_stat_progress_basebackup</structname></link>
to show progress, and can be disabled by using the
<option>--no-estimate-size</option> option. Previously, this
computation happened only if <option>--progress</option> was used.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2019-09-30 [927474ce1] pg_rewind: Allow writing recovery configuration
-->
<para>
Add <application><xref linkend="app-pgrewind"/></application>
option to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal)
</para>
<para>
This matches <application><xref
linkend="app-pgbasebackup"/></application>'s
<option>--write-recovery-conf</option> option.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2020-04-01 [a7e8ece41] Add -c/- -restore-target-wal to pg_rewind
-->
<para>
Allow <application>pg_rewind</application> to use the target
cluster's <xref linkend="guc-restore-command"/> to retrieve needed
<acronym>WAL</acronym> (Alexey Kondratov)
</para>
<para>
This is enabled using the
<option>-c</option>/<option>--restore-target-wal</option> option.
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2019-09-27 [5adafaf17] Have pg_rewind run crash recovery before rewinding
-->
<para>
Have <application>pg_rewind</application> automatically run crash
recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal)
</para>
<para>
This can be disabled by using <option>--no-ensure-shutdown</option>.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2019-11-13 [7b8a899bd] Make pg_waldump report more detail information about PRE
-->
<para>
Increase <xref linkend="sql-prepare-transaction"/> information
reported by <application>pg_waldump</application> (Fujii Masao)
</para>
</listitem>
<listitem>
<!--
Author: Robert Haas <rhaas@postgresql.org>
2020-04-02 [ac44367ef] pg_waldump: Add a - -quiet option.
-->
<para>
Add <application><xref linkend="pgwaldump"/></application>
option <option>--quiet</option> to suppress non-error output
(Andres Freund, Robert Haas)
</para>
</listitem>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-03-25 [2f9eb3132] pg_dump: Allow dumping data of specific foreign servers
-->
<para>
Allow <application><xref linkend="app-pgdump"/></application>
<option>--include-foreign-data</option> to dump data from foreign
servers (Luis Carril)
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2020-01-29 [47bc9ced0] Add - -parallel option to vacuumdb command.
-->
<para>
Allow vacuum commands run by <application><xref
linkend="app-vacuumdb"/></application> to operate in parallel mode
(Masahiko Sawada)
</para>
<para>
This is enabled with the new <option>--parallel</option> option.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2019-07-27 [5ab892c39] Add support for - -jobs in reindexdb
-->
<para>
Allow <application><xref linkend="app-reindexdb"/></application>
to operate in parallel (Julien Rouhaud)
</para>
<para>
Parallel mode is enabled with the new <option>--jobs</option> option.
</para>
</listitem>
<listitem>
<!--
Author: Amit Kapila <akapila@postgresql.org>
2019-11-20 [80e05a088] Add the support for '-f' option in dropdb utility.
-->
<para>
Allow <application><xref linkend="app-dropdb"/></application>
to force disconnections so the drop succeeds (Pavel Stehule)
</para>
<para>
This is enabled with the <option>-f</option> option.
</para>
</listitem>
<listitem>
<!--
Author: Author: Michael Paquier <michael@paquier.xyz>
2019-10-23 [4fa5edcd1] Remove last traces of - -adduser/- -no-adduser in createus
-->
<para>
Remove <option>--adduser</option> and <option>--no-adduser</option>
from <application><xref linkend="app-createuser"/></application> (Alexander
Lakhin)
</para>
<para>
The long-supported options for this are called
<option>--superuser</option> and <option>--no-superuser</option>.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-07-27 [959f6d6a1] pg_upgrade: Default new bindir to pg_upgrade location
-->
<para>
Use the directory of the <application><xref
linkend="pgupgrade"/></application> binary
as the default new 'bindir' location when running
<application>pg_upgrade</application> (Daniel Gustafsson)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Documentation</title>
<itemizedlist>
<listitem>
<!--
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
2020-04-03 [347d2b07f] Add a glossary to the documentation
-->
<para>
Add a <link linkend="glossary">glossary</link> to the documentation
(Corey Huinker, Jürgen Purtz, Roger Harkavy, Álvaro
Herrera)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-12 [e894c6183] Doc: introduce new layout for tables of functions and op
-->
<para>
Reformat tables containing <link linkend="functions">function
information</link> for better clarity (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-08-13 [416c75cf3] Update to DocBook 4.5
-->
<para>
Upgrade to use <link linkend="docguide-docbook">DocBook 4.5</link>
(Peter Eisentraut)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Source Code</title>
<itemizedlist>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2019-07-02 [2b1394fc2] Add support for Visual Studio 2019 in build scripts
-->
<para>
Add support for building on Visual Studio 2019 (Haribabu Kommi)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-12-19 [e975c1a60] Add support for MSYS2
-->
<para>
Add build support for MSYS2 (Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
2019-10-18 [30ee5d17c] For all ppc compilers, implement compare_exchange and fe
-->
<para>
Add compare_exchange and fetch_add assembly language code for Power
PC compilers (Noah Misch)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-07-04 [7b925e127] Sync our Snowball stemmer dictionaries with current upst
-->
<para>
Update <link linkend="textsearch-snowball-dictionary">Snowball
stemmer</link> dictionaries used by full text search (Panagiotis
Mavrogiorgos)
</para>
<para>
This adds Greek stemming and improves Danish and French stemming.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2020-02-19 [e2e02191e] Clean up some code, comments and docs referring to Windo
-->
<para>
Remove support for Windows 2000 (Michael Paquier)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-07-01 [c72f9b950] Remove support for non-ELF BSD systems
-->
<para>
Remove support for non-<acronym>ELF</acronym> <acronym>BSD</acronym>
systems (Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-01-08 [37f21ed13] Remove support for Python older than 2.6
-->
<para>
Remove <link linkend="plpython">support</link> for Python versions
2.5.X and earlier (Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2020-01-06 [7b283d0e1] Remove support for OpenSSL 0.9.8 and 1.0.0
-->
<para>
Remove <link linkend="install-short">support</link> for OpenSSL 0.9.8
and 1.0.0 (Michael Paquier)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-11-27 [4513d8b07] Move configure - -disable-float8-byval to pg_config_manua
-->
<para>
Remove <link linkend="install-short">support</link> option
<option>--disable-float</option>8-byval (Peter Eisentraut)
</para>
<para>
This was needed for previously supported version-zero functions.
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-11-21 [2e4db241b] Remove configure - -disable-float4-byval
-->
<para>
Remove configure option <option>--disable-float4-byval</option>
(Peter Eisentraut)
</para>
<para>
This was needed for previously supported version-zero functions.
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-03-30 [6aba63ef3] Allow the planner-related functions and hook to accept t
-->
<para>
Add the query string to planner hook functions (Pascal Legrand,
Julien Rouhaud)
</para>
</listitem>
<listitem>
<!--
Author: Joe Conway <mail@joeconway.com>
2019-11-23 [f7a2002e8] Add object TRUNCATE hook
-->
<para>
Add <xref linkend="sql-truncate"/> command hook (Yuli Khodorkovskiy)
</para>
</listitem>
<listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2020-03-25 [896fcdb23] Provide a TLS init hook
-->
<para>
Add <acronym>TLS</acronym> init hook (Andrew Dunstan)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2020-01-31 [a9cff89f7] Allow building without default socket directory
-->
<para>
Allow building with no predefined Unix-domain socket directory
(Peter Eisentraut)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-09-05 [7de19fbc0] Use data directory inode number, not port, to select Sys
-->
<para>
Reduce the probability of SysV resource key collision on Unix platforms
(Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Peter Eisentraut <peter@eisentraut.org>
2019-09-05 [74a308cf5] Use explicit_bzero
-->
<para>
Use operating system functions to cleanly erase memory that contains
sensitive information (Peter Eisentraut)
</para>
<para>
For example, this is used for clearing passwords stored in memory.
</para>
</listitem>
<listitem>
<!--
Author: Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-08-19 [55ea10918] Add "headerscheck" script to test header-file compilabil
-->
<para>
Add "headerscheck" script to test C header-file compatibility
(Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-07-15 [1cff1b95a] Represent Lists as expansible arrays, not chains of cons
-->
<para>
Implement internal lists as arrays, rather than a chain of structures
(Tom Lane)
</para>
<para>
This improves performance for queries that access many object.
The internal List <acronym>API</acronym> has also been improved.
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2019-07-13 [39aadc984] Fix some inconsistencies in MSVC scripts
-->
<para>
Update <link linkend="install-windows">Windows build scripts</link>
to use the modern <option>--with-uuid</option> flag for
<acronym>UUID</acronym> libraries (Kyotaro Horiguchi)
</para>
</listitem>
</itemizedlist>
</sect3>
<sect3>
<title>Additional Modules</title>
<itemizedlist>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-01-29 [50fc694e4] Invent "trusted" extensions, and remove the pg_pltemplat
-->
<para>
Allow <link linkend="sql-createextension">extensions</link> to be
specified as trusted (Tom Lane)
</para>
<para>
Such extensions can be installed in a database by users with creation
rights, even if they are not superusers. This change also removes
the <structname>pg_pltemplate</structname> system catalog.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-02-19 [70a773200] Remove support for upgrading extensions from "unpackaged
-->
<para>
Remove support for upgrading "unpackaged" extensions (Tom Lane)
</para>
</listitem>
<listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2019-12-20 [6136e94dc] Superuser can permit passwordless connections on postgre
-->
<para>
Allow non-superusers to connect to <xref linkend="postgres-fdw"/>
foreign servers without using a password (Craig Ringer)
</para>
<para>
Specifically, allow <xref linkend="sql-alterusermapping"/> to set
<literal>password_required</literal> to false. Care must still be
taken to avoid non-superusers from using superuser credentials to
connect to the foreign server.
</para>
</listitem>
<listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2020-01-09 [f5fd995a1] Allow 'sslkey' and 'sslcert' in postgres_fdw user mappin
-->
<para>
Allow <application>postgres_fdw</application> to use certificate
authentication (Craig Ringer)
</para>
<para>
Different users can use different certificates.
</para>
</listitem>
<listitem>
<!--
Author: Joe Conway <mail@joeconway.com>
2019-11-23 [4f66c93f6] Update sepgsql to add mandatory access control for TRUNC
-->
<para>
Allow <xref linkend="sepgsql"/> to control access to the
<command>TRUNCATE</command> command (Yuli Khodorkovskiy)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-06 [36058a3c5] Create contrib/bool_plperl to provide a bool transform f
-->
<para>
Add extension <link
linkend="plperl"><application>bool_plperl</application></link>
which transforms <acronym>SQL</acronym> booleans to/from PL/Perl
booleans (Ivan Panchenko)
</para>
</listitem>
<listitem>
<!--
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
2019-07-14 [6e74c64bc] Teach pg_stat_statements not to ignore FOR UPDATE clause
-->
<para>
Have <xref linkend="pgstatstatements"/> treat <command>SELECT
... FOR UPDATE</command> as distinct from those without <command>FOR
UPDATE</command> (Andrew Gierth, Vik Fearing)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-04-02 [17e032822] Allow pg_stat_statements to track planning statistics.
-->
<para>
Allow <application>pg_stat_statements</application> to optionally
track the planning time of statements (Julien Rouhaud, Pascal Legrand,
Thomas Munro, Fujii Masao)
</para>
<para>
Previously only execution time was tracked.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-31 [70dc4c509] Fix lquery's NOT handling, and add ability to quantify n
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-01 [17ca06799] Clean up parsing of ltree and lquery some more.
-->
<para>
Overhaul <xref linkend="ltree"/>'s lquery syntax to treat
<literal>NOT</literal> (!) more logically (Filip Rembialkowski,
Tom Lane, Nikita Glukhov)
</para>
<para>
Also allow non-* queries to use a numeric range ({}) of matches.
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-04-01 [949a9f043] Add support for binary I/O of ltree, lquery, and ltxtque
-->
<para>
Add support for binary I/O of <xref linkend="ltree"/>, lquery, and
ltxtquery types (Nino Floris)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2020-03-08 [806eb92c0] Add an "absval" parameter to allow contrib/dict_int to i
-->
<para>
Add option to <xref linkend="dict-int"/> extension to ignore the sign
of integers (Jeff Janes)
</para>
</listitem>
<listitem>
<!--
Author: Fujii Masao <fujii@postgresql.org>
2020-01-24 [d694e0bb7] Add pg_file_sync() to adminpack extension.
-->
<para>
Add <xref linkend="adminpack"/> function
<function>pg_file_sync()</function> to allow fsync'ing a file
(Fujii Masao)
</para>
</listitem>
<listitem>
<!--
Author: Michael Paquier <michael@paquier.xyz>
2019-09-12 [ddbd5d873] Add to pageinspect function to make t_infomask/t_infomas
Author: Author: Michael Paquier <michael@paquier.xyz>
2019-09-19 [58b4cb30a] Redesign pageinspect function printing infomask bits
-->
<para>
Add <xref linkend="pageinspect"/> functions to output
<structfield>t_infomask</structfield>/<structfield>t_infomask2</structfield>
values in human-readable format (Craig Ringer, Sawada Masahiko,
Michael Paquier)
</para>
</listitem>
<listitem>
<!--
Author: Peter Geoghegan <pg@bowt.ie>
2020-02-29 [93ee38ead] Teach pageinspect about nbtree deduplication.
-->
<para>
Add btree index deduplication processing columns to pageinspect output
(Peter Geoghegan)
</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
<sect2 id="release-13-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>
doc/src/sgml/release-14.sgml
0 → 100644
View file @
d10b19e2
<!-- 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-??-??</para>
</formalpara>
<para>
This is just a placeholder for now.
</para>
</sect1>
doc/src/sgml/release.sgml
View file @
d10b19e2
...
...
@@ -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-1
3
;
&release-1
4
;
<sect1 id="release-prior">
<title>Prior Releases</title>
...
...
src/tools/git_changelog
View file @
d10b19e2
...
...
@@ -57,6 +57,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_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
...
...
src/tools/version_stamp.pl
View file @
d10b19e2
...
...
@@ -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
=
1
3
;
my
$majorversion
=
1
4
;
# Validate argument and compute derived variables
my
$minor
=
shift
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment