mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Update v12 release notes through today, and add major-enhancements list.
I still want to review the rest of the notes, but this seems like the minimum work required to prepare for beta4. Major-enhancements text, and a couple of other fixes, from Jonathan Katz (with minor copy-editing by me).
This commit is contained in:
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<formalpara>
|
<formalpara>
|
||||||
<title>Release date:</title>
|
<title>Release date:</title>
|
||||||
<para>2019-??-?? AS OF 2019-05-09</para>
|
<para>2019-??-??, CURRENT AS OF 2019-09-06</para>
|
||||||
</formalpara>
|
</formalpara>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
@ -21,7 +21,143 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>big item</para>
|
<para>
|
||||||
|
General performance improvements, including:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Optimizations to space utilization and read/write performance for
|
||||||
|
B-tree indexes
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Partitioning performance enhancements, including improved query
|
||||||
|
performance on tables with thousands of partitions, improved
|
||||||
|
insertion performance with <xref linkend="sql-insert"/> and
|
||||||
|
<xref linkend="sql-copy"/>, and the ability to
|
||||||
|
execute <link linkend="sql-altertable"><command>ALTER TABLE ATTACH
|
||||||
|
PARTITION</command></link> without blocking queries
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Automatic (but overridable) inlining
|
||||||
|
of <link linkend="queries-with">common table expressions</link>
|
||||||
|
(<acronym>CTEs</acronym>)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Reduction of <acronym>WAL</acronym> overhead for updates of
|
||||||
|
<link linkend="gist">GiST</link>, <link linkend="gin">GIN</link>, and
|
||||||
|
<link linkend="spgist">SP-GiST</link> indexes
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Support for covering <link linkend="gist">GiST</link> indexes, via
|
||||||
|
the <link linkend="sql-createindex"> <literal>INCLUDE</literal></link>
|
||||||
|
clause
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Multi-column most-common-value (MCV) statistics can be defined
|
||||||
|
via <xref linkend="sql-createstatistics"/>, to support better
|
||||||
|
plans for queries that test several non-uniformly-distributed
|
||||||
|
columns
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Enhancements to administrative functionality, including:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link linkend="sql-reindex"><command>REINDEX
|
||||||
|
CONCURRENTLY</command></link> can rebuild an index without
|
||||||
|
blocking writes to its table
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<xref linkend="app-pgchecksums"/> can enable/disable page checksums
|
||||||
|
(used for detecting data corruption) in an offline cluster
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Progress reporting statistics for <xref linkend="sql-createindex"/>,
|
||||||
|
<xref linkend="sql-reindex"/>, <xref linkend="sql-cluster"/>,
|
||||||
|
<link linkend="sql-vacuum">VACUUM FULL</link>, and
|
||||||
|
<xref linkend="app-pgchecksums"/>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Support for the <acronym>SQL/JSON</acronym>
|
||||||
|
<link linkend="functions-json-processing-table">path</link> language
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Stored <link linkend="sql-createtable">generated columns</link>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Nondeterministic ICU
|
||||||
|
<link linkend="sql-createcollation">collations</link>, enabling
|
||||||
|
case-insensitive and accent-insensitive grouping and ordering
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
New authentication features, including:
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Client- and server-side encryption for authentication using
|
||||||
|
<link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Discovery of LDAP servers if <productname>PostgreSQL</productname> is
|
||||||
|
built with <productname>OpenLDAP</productname>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Multi-factor authentication, using the <link linkend="auth-cert">
|
||||||
|
<literal>clientcert=verify-full</literal></link> option combined
|
||||||
|
with an additional authentication method in
|
||||||
|
<filename>pg_hba.conf</filename>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -228,6 +364,26 @@ Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<!--
|
<!--
|
||||||
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
|
2019-05-14 [7c850320d] Fix SQL-style substring() to have spec-compliant greedin
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Change SQL-style <function>substring()</function> to have
|
||||||
|
standard-compliant greediness behavior (Tom Lane)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In cases where the pattern can be matched in more than one way, the
|
||||||
|
initial sub-pattern is now treated as matching the least possible
|
||||||
|
amount of text rather than the greatest; for example, a pattern such
|
||||||
|
as <literal>%#"aa*#"%</literal> now selects the first group
|
||||||
|
of <literal>a</literal>'s from the input, not the last group.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<!--
|
||||||
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
||||||
2019-04-23 [c06e3550d] Don't request pretty-printed output from xmlNodeDump().
|
2019-04-23 [c06e3550d] Don't request pretty-printed output from xmlNodeDump().
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -299,8 +455,8 @@ This is caused by adding the tid to the btree entry, as listed later.
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The maximum btree index length is now reduced by eight bytes;
|
The maximum btree index entry length is now reduced by eight bytes;
|
||||||
a <xref linkend="sql-reindex"/> operation could potentially fail.
|
thus a <xref linkend="sql-reindex"/> operation could potentially fail.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -347,6 +503,25 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<!--
|
<!--
|
||||||
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
||||||
|
2019-06-16 [6cbfb784c] Rework the pg_statistic_ext catalog
|
||||||
|
2019-06-16 [aa087ec64] Add pg_stats_ext view for extended statistics
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Split the <structname>pg_statistic_ext</structname> catalog into two
|
||||||
|
catalogs, and add the <structname>pg_stats_ext</structname> view of
|
||||||
|
it (Dean Rasheed, Tomas Vondra)
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This change supports hiding potentially-sensitive statistics data
|
||||||
|
from unprivileged users.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<!--
|
||||||
Author: Peter Eisentraut <peter_e@gmx.net>
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
||||||
2018-11-01 [96b00c433] Remove obsolete <structname>pg_constraint</structname>.consrc column
|
2018-11-01 [96b00c433] Remove obsolete <structname>pg_constraint</structname>.consrc column
|
||||||
-->
|
-->
|
||||||
@ -1941,9 +2116,11 @@ Author: Peter Eisentraut <peter@eisentraut.org>
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This allows case and accent-agnostic equality comparisons using
|
This feature supports <quote>nondeterministic</quote> collations
|
||||||
"nondeterministic" collations. This is only supported for
|
that can define case- and accent-agnostic equality comparisons.
|
||||||
<acronym>ICU</acronym> collations. MENTION ITS AFFECT ON ORDERING?
|
Thus, for example, a case-insensitive uniqueness constraint on a
|
||||||
|
text column can be made more easily than before. This is only
|
||||||
|
supported for <acronym>ICU</acronym> collations.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -1972,6 +2149,8 @@ Author: Fujii Masao <fujii@postgresql.org>
|
|||||||
<!--
|
<!--
|
||||||
Author: Robert Haas <rhaas@postgresql.org>
|
Author: Robert Haas <rhaas@postgresql.org>
|
||||||
2019-04-04 [a96c41fee] Allow VACUUM to be run with index cleanup disabled.
|
2019-04-04 [a96c41fee] Allow VACUUM to be run with index cleanup disabled.
|
||||||
|
Author: Michael Paquier <michael@paquier.xyz>
|
||||||
|
2019-06-25 [ce59b75d4] Add toast-level reloption for vacuum_index_cleanup
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -2380,6 +2559,18 @@ Author: Michael Meskes <meskes@postgresql.org>
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<!--
|
<!--
|
||||||
|
Author: Michael Meskes <meskes@postgresql.org>
|
||||||
|
2019-05-22 [a1dc6ab46] Implement PREPARE AS statement for ECPG.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Add <command>PREPARE AS</command> support to
|
||||||
|
<productname>ECPG</productname> (Matsumura Ryo)
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<!--
|
||||||
Author: Michael Paquier <michael@paquier.xyz>
|
Author: Michael Paquier <michael@paquier.xyz>
|
||||||
2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se
|
2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se
|
||||||
-->
|
-->
|
||||||
@ -2478,8 +2669,13 @@ Author: Peter Eisentraut <peter@eisentraut.org>
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
This is enabled with by setting environment variable
|
This is enabled by setting the environment variable
|
||||||
<envar>PG_COLORS</envar>. EXAMPLE?
|
<envar>PG_COLOR</envar> to <literal>always</literal>
|
||||||
|
or <literal>auto</literal>. The specific colors used can be
|
||||||
|
adjusted by setting the environment variable
|
||||||
|
<envar>PG_COLORS</envar>, using ANSI escape codes for colors.
|
||||||
|
For example, the default behavior is equivalent to
|
||||||
|
<literal>PG_COLORS="error=01;31:warning=01;35:locus=01"</literal>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -2524,6 +2720,7 @@ Author: Peter Eisentraut <peter@eisentraut.org>
|
|||||||
<!--
|
<!--
|
||||||
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
||||||
2018-11-19 [6e5f8d489] psql: Show IP address in \conninfo
|
2018-11-19 [6e5f8d489] psql: Show IP address in \conninfo
|
||||||
|
2019-06-14 [313f56ce2] Tweak libpq's PQhost, PQhostaddr, and psql's \connect
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@ -2752,6 +2949,7 @@ Author: Michael Paquier <michael@paquier.xyz>
|
|||||||
<!--
|
<!--
|
||||||
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
||||||
2019-03-07 [7e413a0f8] pg_dump: allow multiple rows per insert
|
2019-03-07 [7e413a0f8] pg_dump: allow multiple rows per insert
|
||||||
|
2019-06-14 [a193cbec1] Add pg_dumpall rows-per-insert
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
Reference in New Issue
Block a user