mirror of
https://github.com/postgres/postgres.git
synced 2025-06-19 00:01:45 -04:00
Reported-by: Alexander Korotkov Discussion: https://postgr.es/m/CAPpHfdvkM-PkyrK6LQitJUDmC_1kOCEtTuseoVhCT=ew0XJmGg@mail.gmail.com
2865 lines
71 KiB
Plaintext
2865 lines
71 KiB
Plaintext
<!-- doc/src/sgml/release-12.sgml -->
|
|
<!-- See header comment in release.sgml about typical markup -->
|
|
|
|
<sect1 id="release-12">
|
|
<title>Release 12</title>
|
|
|
|
<formalpara>
|
|
<title>Release date:</title>
|
|
<para>2019-??-?? AS OF 2019-05-09</para>
|
|
</formalpara>
|
|
|
|
<sect2>
|
|
<title>Overview</title>
|
|
|
|
<para>
|
|
Major enhancements in <productname>PostgreSQL</productname> 12 include:
|
|
</para>
|
|
|
|
<!-- Items in this list summarize one or more items below -->
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<para>big item</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
The above items are explained in more detail in the sections below.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
|
|
<title>Migration to Version 12</title>
|
|
|
|
<para>
|
|
A dump/restore using <xref linkend="app-pg-dumpall"/>, or use of <xref
|
|
linkend="pgupgrade"/>, is required for those wishing to migrate data
|
|
from any previous release.
|
|
</para>
|
|
|
|
<para>
|
|
Version 12 contains a number of changes that may affect compatibility
|
|
with previous releases. Observe the following incompatibilities:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-11-20 [578b22971] Remove WITH OIDS support, change oid catalog column visi
|
|
-->
|
|
|
|
<para>
|
|
Remove the special behavior of oid columns (Andres Freund, John Naylor)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, a normally-invisible <type>OID</type> column could be specified during table
|
|
creation using <literal>WITH OIDS</literal>; that ability has been removed. Columns can
|
|
still be explicitly specified as type <type>OID</type>. Operations on tables that
|
|
have columns named <type>OID</type> (created using <literal>WITH OIDS</literal>) will need adjustment.
|
|
The many system tables with such columns will now display those columns
|
|
with <command>SELECT *</command> by default.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-10-11 [cda6a8d01] Remove deprecated abstime, reltime, tinterval datatypes.
|
|
-->
|
|
|
|
<para>
|
|
Remove data types <type>abstime</type>, <type>reltime</type>, and <type>tinterval</type> (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-10-11 [2d10defa7] Remove timetravel extension.
|
|
-->
|
|
|
|
<para>
|
|
Remove the <productname>timetravel</productname> extension (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-25 [2dedf4d9a] Integrate recovery.conf into postgresql.conf
|
|
-->
|
|
|
|
<para>
|
|
Move <filename>recovery.conf</filename> settings into <filename>postgresql.conf</filename> (Fujii Masao, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)
|
|
</para>
|
|
|
|
<para>
|
|
<filename>recovery.conf</filename> is no longer used, and the server will not start if the
|
|
file exists. recovery.signal and standby.signal are now used to switch into non-primary mode.
|
|
<varname>trigger_file</varname> has been renamed to <varname>promote_trigger_file</varname>. The <varname>standby_mode</varname> setting has been removed.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-28 [f2cbffc7a] Only allow one recovery target setting
|
|
-->
|
|
|
|
<para>
|
|
Do not allow multiple different <varname>recovery_target</varname>* specifications (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, multiple different <varname>recovery_target</varname>* variables could be specified, and the last one specified was honored. Now, only one can be specified, though the same one can
|
|
be specified multiple times and the last specification is honored.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-13 [0acb3bc33] Change default of recovery_target_timeline to <literal>latest</literal>
|
|
-->
|
|
|
|
<para>
|
|
Cause recovery to advance to the latest timeline by default (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, <varname>recovery_target_timeline</varname> now defaults to <literal>latest</literal>. Previously, it defaulted to <literal>current</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2018-07-29 [a7dc63d90] Refactor geometric functions and operators
|
|
-->
|
|
|
|
<para>
|
|
Refactor geometric functions and operators (Emre Hasegeli)
|
|
</para>
|
|
|
|
<para>
|
|
This could lead to more accurate, but slightly different, results from previous releases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2018-08-16 [c4c340088] Use the built-in float datatypes to implement geometric
|
|
-->
|
|
|
|
<para>
|
|
Restructure geometric types to handle NaN, underflow, overflow and division by zero more consistently (Emre Hasegeli)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2018-09-26 [2e2a392de] Fix problems in handling the line data type
|
|
-->
|
|
|
|
<para>
|
|
Improve behavior and error reporting for the line data type (Emre Hasegeli)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
2019-02-13 [02ddd4993] Change floating-point output format for improved perform
|
|
-->
|
|
|
|
<para>
|
|
Avoid performing unnecessary rounding of <type>REAL</type> and <type>DOUBLE PRECISION</type> values (Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
This dramatically speeds up processing of floating-point values, though
|
|
trailing digits are display slightly differently. Users who wish to have output that is rounded can set
|
|
<literal>extra_float_digits=0</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-23 [c06e3550d] Don't request pretty-printed output from xmlNodeDump().
|
|
-->
|
|
|
|
<para>
|
|
Change <acronym>XML</acronym> functions like <function>xpath()</function> to never pretty-print their output (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this happened in some rare cases. ACCURATE? HOW TO GET PRETTY PRINT OUTPUT?
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-13 [6dd263cfa] Rename pg_verify_checksums to pg_checksums
|
|
-->
|
|
|
|
<para>
|
|
Rename command-line tool <application>pg_verify_checksums</application> to <application>pg_checksums</application> (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-04 [413ccaa74] pg_restore: Require -f - to mean stdout
|
|
-->
|
|
|
|
<para>
|
|
Require specification of <literal>-f -</literal> to send the dump contents to stdout (Euler Taveira)
|
|
</para>
|
|
|
|
<para>
|
|
The previous behavior was considered confusing.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-14 [eaf746a5b] Make psql's "\pset format" command reject non-unique abb
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-26 [a7eece4fc] Fix breakage of "\pset format latex".
|
|
-->
|
|
|
|
<para>
|
|
Disallow <application>psql</application>'s <command>\pset format</command> command from using non-unique abbreviations (Daniel Vérité)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, <command>\pset format a</command> chose <literal>aligned</literal>; it will now error.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-19 [586b98fdf] Make type "name" collation-aware.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-05 [478cacb50] Ensure consistent name matching behavior in processSQLNa
|
|
-->
|
|
|
|
<para>
|
|
Allow data type name to use non-C collations (Tom Lane, Daniel Vérité)
|
|
</para>
|
|
|
|
<para>
|
|
It still uses the "C" collation by default, rather than defaulting to the database collation. Regular expression operations on data type name columns will now use the
|
|
"C" collation; you will need to override the collation if you want to use locale-specific regular expression patterns, e.g., <command>\w</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-21 [bfb456c1b] Improve error reporting for DROP FUNCTION/PROCEDURE/AGGR
|
|
-->
|
|
|
|
<para>
|
|
Cause <command>DROP IF EXISTS FUNCTION/PROCEDURE/AGGREGATE/ROUTINE</command> to generate an error if no arguments are supplied and there are multiple matching objects (David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
Also improve the error message in such cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-01 [96b00c433] Remove obsolete <structname>pg_constraint</structname>.consrc column
|
|
-->
|
|
|
|
<para>
|
|
Remove obsolete <structname>pg_constraint</structname>.<structfield>consrc</structfield> column (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-01 [fe5038236] Remove obsolete pg_attrdef.adsrc column
|
|
-->
|
|
|
|
<para>
|
|
Remove obsolete <structname>pg_attrdef</structname>.<structfield>adsrc</structfield> column (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-07-10 [bcbd94080] Remove dynamic_shared_memory_type=none
|
|
-->
|
|
|
|
<para>
|
|
Remove the ability to disable dynamic shared memory (Kyotaro Horiguchi)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, <varname>dynamic_shared_memory_type</varname> can no longer be set to <literal>none</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Changes</title>
|
|
|
|
<para>
|
|
Below you will find a detailed account of the changes between
|
|
<productname>PostgreSQL</productname> 12 and the previous major
|
|
release.
|
|
</para>
|
|
|
|
<sect3>
|
|
<title>Server</title>
|
|
|
|
<sect4>
|
|
<title>Partitioning</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-07 [c6e4133fa] Postpone calculating total_table_pages until after pruni
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-15 [34c9e455d] Improve performance of partition pruning remapping a lit
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-11-16 [3f2393ede] Redesign initialization of partition routing structures
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-02-21 [9eefba181] Delay lock acquisition for partitions until we route a t
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-30 [428b260f8] Speed up planning when partitions can be pruned at plan
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning ordered
|
|
-->
|
|
|
|
<para>
|
|
Improve performance of pruning many partitions (Amit Langote, David Rowley, Tom Lane, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
Now thousands of partitions can be pruned efficiently.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-03 [f56f8f8da] Support foreign keys that reference partitioned tables
|
|
-->
|
|
|
|
<para>
|
|
Allow foreign keys to reference partitioned tables (Alvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-08-01 [0d5f05cde] Allow multi-inserts during COPY into a partitioned table
|
|
-->
|
|
|
|
<para>
|
|
Improve speed of <command>COPY</command> into partitioned tables (David Rowley)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-25 [7c079d741] Allow generalized expression syntax for partition bounds
|
|
-->
|
|
|
|
<para>
|
|
Allow partitions bounds to be any expression (Kyotaro Horiguchi, Tom Lane, Amit Langote)
|
|
</para>
|
|
|
|
<para>
|
|
Expressions are evaluated at table partitioned table creation time. Previously, only constants were allowed as partitions bounds.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-12-17 [ca4103025] Fix tablespace handling for partitioned tables
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>CREATE TABLE</command>'s tablespace specification for a partitioned table to affect the tablespace of its children (David Rowley, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-07 [898e5e329] Allow ATTACH PARTITION with only ShareUpdateExclusiveLoc
|
|
-->
|
|
|
|
<para>
|
|
<command>ATTACH PARTITION</command> is now performed with reduced locking requirements (Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-02-08 [3677a0b26] Add pg_partition_root to display top-most parent of a pa
|
|
-->
|
|
|
|
<para>
|
|
Add function <function>pg_partition_root()</function> to return top-most parent of a partition tree (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-04 [b96f6b194] pg_partition_ancestors
|
|
-->
|
|
|
|
<para>
|
|
Add function <function>pg_partition_ancestors()</function> to report all ancestors of a partition (Alvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-30 [d5eec4eef] Add pg_partition_tree to display information about parti
|
|
-->
|
|
|
|
<para>
|
|
Add function <function>pg_partition_tree()</function> to display information about partitions (Amit Langote)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-18 [f94cec644] Include partitioned indexes to system view pg_indexes
|
|
-->
|
|
|
|
<para>
|
|
Include partitioned indexes in the system view <structname>pg_indexes</structname> (Suraj Kharage)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-07 [1c5d9270e] psql \dP: list partitioned tables and indexes
|
|
-->
|
|
|
|
<para>
|
|
Add <application>psql</application> command <command>\dP</command> to list partitioned tables and indexes (Pavel Stěhule)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-11-19 [d56e0fde8] psql: Describe partitioned tables/indexes as such
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-26 [1af25ca0c] Improve psql's \d display of foreign key constraints
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-17 [b036982db] psql: display tablespace for partitioned indexes
|
|
-->
|
|
|
|
<para>
|
|
Improve <application>psql</application> <command>\d</command> and <command>\z</command> display of partitioned tables (Pavel Stehule, Michaël Paquier, Álvaro Herrera)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-11 [1d92a0c9f] Redesign the partition dependency mechanism.
|
|
-->
|
|
|
|
<para>
|
|
Improve handling of partition dependency (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents the creation of inconsistent partition hierarchies in rare cases.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Parallel Queries</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-03-15 [bb16aba50] Enable parallel query with SERIALIZABLE isolation.
|
|
-->
|
|
|
|
<para>
|
|
Allow parallel query when in <literal>SERIALIZABLE</literal> isolation mode (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, parallelism was disabled when in this mode.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-27 [5bde1651b] Switch function current_schema[s]() to be parallel-unsaf
|
|
-->
|
|
|
|
<para>
|
|
Prevent <function>current_schema()</function> and <function>current_schemas()</function> from being run by parallel workers (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Indexes</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-07-28 [d2086b08b] Reduce path length for locking leaf B-tree pages during
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-25 [f21668f32] Add "split after new tuple" nbtree optimization.
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-04-23 [9b1092626] Prevent O(N^2) unique index insertion edge case.
|
|
-->
|
|
|
|
<para>
|
|
Improve speed of btree index insertions (Peter Geoghegan, Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
The new code improves the space-efficiency of page splits, reduces locking
|
|
overhead, and gives better performance for <command>UPDATE</command>s
|
|
and <command>DELETE</command>s on indexes with many duplicates.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-03-10 [f2e403803] Support for INCLUDE attributes in GiST indexes
|
|
-->
|
|
|
|
<para>
|
|
Support <literal>INCLUDE</literal> columns in GiST indexes (Andrey Borodin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-09-19 [2a6368343] Add support for nearest-neighbor (KNN) searches to SP-Gi
|
|
-->
|
|
|
|
<para>
|
|
Add support for nearest-neighbor (<acronym>KNN</acronym>) searches of SP-GiST indexes (Nikita Glukhov, Alexander Korotkov, Vlad Sterzhanov)
|
|
</para>
|
|
|
|
<para>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-04-03 [9155580fd] Generate less WAL during GiST, GIN and SP-GiST index bui
|
|
-->
|
|
|
|
<para>
|
|
Reduce the <acronym>WAL</acronym> write overhead of <acronym>GiST</acronym>, <acronym>GIN</acronym> and <acronym>SP-GiST</acronym> index creation (Anastasia Lubennikova, Andrey V. Lepikhov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-03 [80b9e9c46] Improve performance of index-only scans with many index
|
|
-->
|
|
|
|
<para>
|
|
Allow index-only scans to be more efficient on indexes with many columns (Konstantin Knizhnik)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-20 [dd299df81] Make heap TID a tiebreaker nbtree index column.
|
|
Author: Peter Geoghegan <pg@bowt.ie>
|
|
2019-03-20 [fab250243] Consider secondary factors during nbtree splits.
|
|
-->
|
|
|
|
<para>
|
|
Have new btree indexes sort duplicate index entries in heap-storage order (Peter Geoghegan)
|
|
</para>
|
|
|
|
<para>
|
|
This slightly reduces the maximum-allowed length of indexed values. Indexes <application>pg_upgraded</application> from previous releases will not have this ordering.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-03-05 [fe280694d] Scan GiST indexes in physical order during VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Improve the performance of vacuum scans of GiST indexes (Andrey Borodin, Konstantin Kuznetsov, Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-03-22 [7df159a62] Delete empty pages during GiST VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Delete empty leaf pages during <acronym>GiST</acronym> <command>VACUUM</command> (Andrey Borodin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-14 [1b5d797cd] Lower lock level for renaming indexes
|
|
-->
|
|
|
|
<para>
|
|
Reduce locking requirements for index renaming (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Optimizer</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-03-27 [7300a6995] Add support for multivariate MCV lists
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-03-27 [a63b29a1d] Minor improvements for the multivariate MCV lists
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>CREATE STATISTICS</command> to create most-common-value statistics for multiple columns (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This improves optimization for columns with non-uniform distributions that often appear in <literal>WHERE</literal> clauses.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-16 [608b167f9] Allow user control of CTE materialization, and change th
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-09 [947613127] Prevent inlining of multiply-referenced CTEs with outer
|
|
-->
|
|
|
|
<para>
|
|
Allow common table expressions (<acronym>CTE</acronym>) to be inlined in later parts of the query (Andreas Karlsson, Andrew Gierth, David Fetter, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, <acronym>CTE</acronym>s are inlined if they are not recursive and are referenced only once later in the query. Inlining can be prevented by specifying <literal>MATERIALIZED</literal>, and
|
|
forced by specifying <literal>NOT MATERIALIZED</literal>. Previously, <acronym>CTE</acronym>s were never inlined and were always evaluated before the rest of the query.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-07-16 [f7cb2842b] Add plan_cache_mode setting
|
|
-->
|
|
|
|
<para>
|
|
Allow control over when generic plans are used for prepared statements (Pavel Stehule)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by the <varname>plan_cache_mode</varname> server variable.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-30 [b5415e3c2] Support parameterized TidPaths.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-30 [0a6ea4001] Add a hash opclass for type "tid".
|
|
-->
|
|
|
|
<para>
|
|
Improve optimization of self-joins (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-09 [1fb57af92] Create the infrastructure for planner support functions.
|
|
-->
|
|
|
|
<para>
|
|
Add support for function selectivity (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-09 [a391ff3c3] Build out the planner support function infrastructure.
|
|
-->
|
|
|
|
<para>
|
|
Use the new support function capability to improve optimizer estimates for some functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, improve them for <function>generate_series()</function>, <function>unnest()</function>, and functions that return boolean values.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-13 [04fe805a1] Drop no-op CoerceToDomain nodes from expressions at plan
|
|
-->
|
|
|
|
<para>
|
|
Improve optimizations for domains that have no check constraints (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-30 [6f19a8c41] Teach eval_const_expressions to constant-fold LEAST/GREA
|
|
-->
|
|
|
|
<para>
|
|
Inline calls to <literal>LEAST</literal> and <literal>GREATEST</literal> to improve optimization (Vik Fearing)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-02-20 [e04a3905e] Improve planner's understanding of strictness of type co
|
|
-->
|
|
|
|
<para>
|
|
Allow <literal>IS NOT NULL</literal> with mis-matching types to use partial indexes more frequently (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-01 [65ce07e02] Teach optimizer's predtest.c more things about ScalarArr
|
|
-->
|
|
|
|
<para>
|
|
Allow IN comparisons with arrays to use <literal>IS NOT NULL</literal> partial indexes more frequently (James Coleman)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-14 [5e0928005] Make pg_statistic and related code account more honestly
|
|
-->
|
|
|
|
<para>
|
|
Store statistics using the collation defined for each column (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, the default collation was used for all statistics storage. This potentially gives better optimizer behavior for columns with non-default collations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-25 [f7111f72d] Improve planner's selectivity estimates for inequalities
|
|
-->
|
|
|
|
<para>
|
|
Improve optimizer estimates for tid inequality comparisons (Edmund Horner)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-07-11 [39a96512b] Mark built-in btree comparison functions as leakproof wh
|
|
-->
|
|
|
|
<para>
|
|
Fix the btree leakproof designation of some functions (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This allows for more complex optimizations.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>General Performance</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Bruce Momjian <bruce@momjian.us>
|
|
2018-09-21 [1f7fc7670] doc: JIT is enabled by default in PG 12
|
|
-->
|
|
|
|
<para>
|
|
Enable Just-in-Time (<acronym>JIT</acronym>) compilation by default (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-01-29 [36a1281f8] Separate per-batch and per-tuple memory contexts in COPY
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-01-25 [9556aa01c] Use single-byte Boyer-Moore-Horspool search even with mu
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-01-26 [a9c35cf85] Change function call information to be variable length.
|
|
-->
|
|
|
|
<para>
|
|
Greatly reduce memory consumption of <command>COPY</command> and function calls (Andres Freund, Tomas Vondra, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-06 [afb0d0712] Replace the data structure used for keyword lookup.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-09 [c64d0cd5c] Use perfect hashing, instead of binary search, for keywo
|
|
-->
|
|
|
|
<para>
|
|
Speed up keyword lookup (John Naylor, Joerg Sonnenberger, Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-01-25 [9556aa01c] Use single-byte Boyer-Moore-Horspool search even with mu
|
|
-->
|
|
|
|
<para>
|
|
Improve search performance for multi-byte characters (Heikki Linnakangas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
2019-04-02 [4d0e994ee] Add support for partial TOAST decompression
|
|
-->
|
|
|
|
<para>
|
|
Allow <literal>TOAST</literal> values to be minimally decompressed (Paul Ramsey)
|
|
</para>
|
|
|
|
<para>
|
|
This is useful for routines that only look at values at the start of the <literal>TOAST</literal> field.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-13 [bbb96c370] Allow ALTER TABLE .. SET NOT NULL to skip provably unnec
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>ALTER TABLE .. SET NOT NULL</command> to avoid unnecessary checking (Sergei Kornilov)
|
|
</para>
|
|
|
|
<para>
|
|
This can happen if column constraints already prevent nulls.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Noah Misch <noah@leadboat.com>
|
|
2019-03-08 [3c5926301] Avoid some table rewrites for ALTER TABLE .. SET DATA TY
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>ALTER TABLE .. SET DATA TYPE</command> <type>timestamp/timestamptz</type> to avoid a table rewrite when the session time zone is <acronym>UTC</acronym> (Noah Misch)
|
|
</para>
|
|
|
|
<para>
|
|
In the <acronym>UTC</acronym> time zone, the data types are binary compatible.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-07-22 [86eaf208e] Hand code string to integer conversion for performance.
|
|
-->
|
|
|
|
<para>
|
|
Improve speed in converting strings to int2/int4 integers (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-11-07 [3fd2a7932] Provide pg_pread() and pg_pwrite() for random I/O.
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-11-07 [c24dcd0cf] Use pg_pread() and pg_pwrite() for data files and WAL.
|
|
-->
|
|
|
|
<para>
|
|
Use <function>pread()</function> and <function>pwrite()</function> for random I/O (Oskari Saarenmaa, Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This reduces the number of system calls required.
|
|
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-07-24 [1bc180cd2] Use setproctitle_fast() to update the ps status, if avai
|
|
-->
|
|
|
|
<para>
|
|
Improve the speed of setting the process title on <systemitem class="osname">FreeBSD</systemitem> (Thomas Munro)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Monitoring</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-11-29 [88bdbd3f7] Add log_statement_sample_rate parameter
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-03 [799e22034] Log all statements from a sample of transactions
|
|
-->
|
|
|
|
<para>
|
|
Allow logging of only a percentage of statements and transactions meeting <varname>log_min_duration_statement</varname> criteria (Adrien Nayrat)
|
|
</para>
|
|
|
|
<para>
|
|
The parameters <varname>log_statement_sample_rate</varname> and <varname>log_transaction_sample_rate</varname> control this.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-02 [ab0dfc961] Report progress of CREATE INDEX operations
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-04-07 [03f9e5cba] Report progress of REINDEX operations
|
|
-->
|
|
|
|
<para>
|
|
Report progress of <command>CREATE INDEX</command> and <command>REINDEX</command> operations (Alvaro Herrera, Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Progress is reported in the <structname>pg_stat_progress_create_index</structname> system view
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-25 [6f97457e0] Add progress reporting for CLUSTER and VACUUM FULL.
|
|
-->
|
|
|
|
<para>
|
|
Add progress reporting to <command>CLUSTER</command> and <command>VACUUM FULL</command> (Tatsuro Yamada)
|
|
</para>
|
|
|
|
<para>
|
|
Progress is reported in the <structname>pg_stat_progress_cluster</structname> system view.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-04-02 [280e5f140] Add progress reporting to pg_checksums
|
|
-->
|
|
|
|
<para>
|
|
Add progress reporting to <application>pg_checksums</application> (Michael Banck, Bernd Helmle)
|
|
</para>
|
|
|
|
<para>
|
|
This is enabled with the option <option>--progress</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
2019-03-09 [6b9e875f7] Track block level checksum failures in pg_stat_database
|
|
-->
|
|
|
|
<para>
|
|
Add counter of checksum failures to <structname>pg_stat_database</structname> (Magnus Hagander)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
2019-04-12 [77bd49adb] Show shared object statistics in pg_stat_database
|
|
-->
|
|
|
|
<para>
|
|
Add tracking of global objects in system view <structname>pg_stat_database</structname> (Julien Rouhaud)
|
|
</para>
|
|
|
|
<para>
|
|
Global objects have a <structname>pg_stat_database</structname>.<structfield>datoid</structfield> value of zero.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-09 [c48101620] Add pg_ls_archive_statusdir function
|
|
-->
|
|
|
|
<para>
|
|
Add the ability to list the contents of the archive directory (Christoph Moench-Tegeder)
|
|
</para>
|
|
|
|
<para>
|
|
The function is <function>pg_ls_archive_statusdir()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-05 [9cd92d1a3] Add pg_ls_tmpdir function
|
|
-->
|
|
|
|
<para>
|
|
Add the ability to list the contents of temporary directories (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
The function, <function>pg_ls_tmpdir()</function>, optionally allows specification of a tablespace.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-01 [f60a0e967] Add more columns to pg_stat_ssl
|
|
-->
|
|
|
|
<para>
|
|
Add information about the client certificate to the system view <structname>pg_stat_ssl</structname> (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The new columns are <structfield>client_serial</structfield> and <structfield>issuer_dn</structfield>. Column <structfield>clientdn</structfield> has been renamed to <structfield>client_dn</structfield>, for clarity.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-21 [f9692a769] Hide other user's pg_stat_ssl rows
|
|
-->
|
|
|
|
<para>
|
|
Restrict visibility of rows in <structname>pg_stat_ssl</structname> by unprivileged users (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-30 [689d15e95] Log PostgreSQL version number on startup
|
|
-->
|
|
|
|
<para>
|
|
Add the version number to the server startup log message (Christoph Berg)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2019-03-06 [342cb650e] Don't log incomplete startup packet if it's empty
|
|
-->
|
|
|
|
<para>
|
|
Prevent logging of empty "incomplete" startup packets (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
2018-09-28 [8bddc8640] Add application_name to connection authorized msg
|
|
-->
|
|
|
|
<para>
|
|
Unconditionally include <varname>application_name</varname> in server log authentication messages (Don Seiler)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-27 [6ae578a91] Set fallback_application_name for a walreceiver to clust
|
|
-->
|
|
|
|
<para>
|
|
Have the walreceiver set its application name to the cluster name, if set (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-09 [7fee252f6] Add timestamp of last received message from standby to p
|
|
-->
|
|
|
|
<para>
|
|
Add the timestamp of the last received standby message to <structname>pg_stat_replication</structname> (Lim MyungKyu)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-07-02 [c55de5e51] Add wait event for fsync of WAL segments
|
|
-->
|
|
|
|
<para>
|
|
Add wait event for fsync of <acronym>WAL</acronym> segments (Konstantin Knizhnik)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect5>
|
|
<title><link linkend="infoschema-tables">Information Schema</link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-20 [7c15cef86] Base information_schema.sql_identifier domain on name, n
|
|
-->
|
|
|
|
<para>
|
|
Allow more use of indexes for text comparisons with <structname>information_schema</structname> columns (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-18 [6b0faf723] Make collation-aware system catalog columns use "C" coll
|
|
-->
|
|
|
|
<para>
|
|
Use "C" collation for <structname>information_schema</structname> and the system tables (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This will produce more consistent behavior in databases with different collations, but will also cause these tables to produce results in "C" collation ordering, rather
|
|
than the default collation for the database.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-20 [5bbee34d9] Avoid producing over-length specific_name outputs in inf
|
|
-->
|
|
|
|
<para>
|
|
Force <structname>information_schema</structname> outputs to honor the system-defined maximum 63-byte identifier length (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect5>
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title><acronym>Authentication</acronym></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Stephen Frost <sfrost@snowman.net>
|
|
2019-04-03 [b0b39f72b] GSSAPI encryption support
|
|
-->
|
|
|
|
<para>
|
|
Add <acronym>GSSAPI</acronym> client and server-side encryption support (Robbie Harwood, Stephen Frost)
|
|
</para>
|
|
|
|
<para>
|
|
Add <filename>pg_hba.conf</filename> <literal>hostgssenc</literal> and <literal>hostnogssenc</literal> record types. This would typically use the <literal>gss</literal> authentication method. This also adds a libpq <literal>gssencmode</literal> option, and
|
|
a <structname>pg_stat_gssapi</structname> system view.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Magnus Hagander <magnus@hagander.net>
|
|
2019-03-09 [0516c61b7] Add new clientcert hba option verify-full
|
|
-->
|
|
|
|
<para>
|
|
Allow the clientcert <filename>pg_hba.conf</filename> option to check that the database user name matches the certificate common name (Julian Markwort, Marius Timmer)
|
|
</para>
|
|
|
|
<para>
|
|
The new check is enabled with <literal>clientcert=verify-full</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-03-21 [0f086f84a] Add DNS SRV support for LDAP server discovery.
|
|
-->
|
|
|
|
<para>
|
|
Allow discovery of the <acronym>LDAP</acronym> server using <acronym>DNS SRV</acronym> records (Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
This avoids the requirement of specifying 'ldapserver', and is only supported if <productname>PostgreSQL</productname> is compiled with OpenLDAP.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-08-10 [f841ceb26] Improve TRUNCATE by avoiding early lock queue
|
|
-->
|
|
|
|
<para>
|
|
Prevent <command>TRUNCATE</command> from requesting a lock on tables for which it lacks permission (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents unauthorized locking delays.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-08-27 [a556549d7] Improve VACUUM and ANALYZE by avoiding early lock queue
|
|
-->
|
|
|
|
<para>
|
|
Prevent <command>VACUUM</command> and <command>ANALYZE</command> from requesting a lock on tables for which it lacks permission (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents unauthorized locking delays.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Server Configuration</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-23 [ed308d783] Add options to enable and disable checksums in pg_checks
|
|
-->
|
|
|
|
<para>
|
|
Add ability to enable/disable cluster checksums using <application>pg_checksums</application> (Michael Banck, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
The cluster must be offline for these operations.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [cbccac371] Reduce the default value of autovacuum_vacuum_cost_delay
|
|
-->
|
|
|
|
<para>
|
|
Reduce the default value of <varname>autovacuum_vacuum_cost_delay</varname> to 2ms (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi
|
|
-->
|
|
|
|
<para>
|
|
Allow <varname>vacuum_cost_delay</varname> to specify sub-millisecond delays (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
Floating-point values can also now be specified.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi
|
|
-->
|
|
|
|
<para>
|
|
Allow time-based server variables to use micro-seconds (us) (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-11 [1a83a80a2] Allow fractional input values for integer GUCs, and impr
|
|
-->
|
|
|
|
<para>
|
|
Allow fractional input for integer server variables (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
For example, <command>SET work_mem = '30.1GB'</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi
|
|
-->
|
|
|
|
<para>
|
|
Allow units to be specified for floating-point server variables (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-04-02 [475861b26] Add wal_recycle and wal_init_zero GUCs.
|
|
-->
|
|
|
|
<para>
|
|
Add <varname>wal_recycle</varname> and <varname>wal_init_zero</varname> server variables to avoid <acronym>WAL</acronym> file recycling (Jerry Jelinek)
|
|
</para>
|
|
|
|
<para>
|
|
This can be beneficial on copy-on-write file systems like <productname>ZFS</productname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se
|
|
-->
|
|
|
|
<para>
|
|
Add parameter to control the server <acronym>TCP</acronym> timeout (Ryohei Nagaura)
|
|
</para>
|
|
|
|
<para>
|
|
The parameter is <varname>tcp_user_timeout</varname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-20 [e73e67c71] Add settings to control SSL/TLS protocol version
|
|
-->
|
|
|
|
<para>
|
|
Allow control of the minimum and maximum <acronym>SSL</acronym>> protocol versions (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The server settings are <varname>ssl_min_protocol_version</varname> and <varname>ssl_max_protocol_version</varname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-07-30 [98efa76fe] Add ssl_library preset parameter
|
|
-->
|
|
|
|
<para>
|
|
Add server variable <varname>ssl_library</varname> to report the <acronym>SSL</acronym> library version used by the server (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-02-03 [f1bebef60] Add shared_memory_type GUC.
|
|
-->
|
|
|
|
<para>
|
|
Add server variable to control the type of shared memory to use (Andres Freund)
|
|
</para>
|
|
|
|
<para>
|
|
The variable is <varname>shared_memory_type</varname>. Its purpose is to allow selection of System V shared memory, if desired.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Streaming Replication and Recovery</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-02-07 [13b89f96d] Allow some recovery parameters to be changed with reload
|
|
-->
|
|
|
|
<para>
|
|
Allow some recovery parameters to be changed with reload (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
These parameters are <varname>archive_cleanup_command</varname>, <varname>promote_trigger_file</varname>, <varname>recovery_end_command</varname>, and <varname>recovery_min_apply_delay</varname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-09-22 [db361db2f] Make GUC wal_sender_timeout user-settable
|
|
-->
|
|
|
|
<para>
|
|
Allow the streaming replication timeout to be set per connection (Tsunakawa Takayuki)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this could only be set cluster-wide.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-25 [10074651e] Add pg_promote function
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-11-06 [8f045e242] Switch pg_promote to be parallel-safe
|
|
-->
|
|
|
|
<para>
|
|
Add function <function>pg_promote()</function> to promote standbys to primaries (Laurenz Albe, Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this operation was only possible by using <application>pg_ctl</application> or creating a trigger file.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-04-05 [9f06d79ef] Add facility to copy replication slots
|
|
-->
|
|
|
|
<para>
|
|
Allow replication slots to be copied (Masahiko Sawada)
|
|
</para>
|
|
|
|
<para>
|
|
The functions are <function>pg_copy_physical_replication_slot()</function> and <function>pg_copy_logical_replication_slot()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-02-12 [ea92368cd] Move max_wal_senders out of max_connections for connecti
|
|
-->
|
|
|
|
<para>
|
|
Have <varname>max_wal_senders</varname> not count as part of <varname>max_connections</varname> (Alexander Kukushkin)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-01-11 [ff8530605] Add value 'current' for recovery_target_timeline
|
|
-->
|
|
|
|
<para>
|
|
Add an explicit value of 'current' for <varname>recovery_target_timeline</varname> (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-09-07 [8582b4d04] Improve handling of corrupted two-phase state files at r
|
|
-->
|
|
|
|
<para>
|
|
Have recovery fail if a two-phase transaction status file is corrupt (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, only a warning was issued in the logs and recovery continued.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Utility Commands</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-29 [5dc92b844] REINDEX CONCURRENTLY
|
|
-->
|
|
|
|
<para>
|
|
Add <command>REINDEX CONCURRENTLY</command> to allow reindexing concurrently (Michael Paquier, Andreas Karlsson, Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This is also controlled by the reindexdb <option>--concurrently</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-30 [fc22b6623] Generated columns
|
|
-->
|
|
|
|
<para>
|
|
Add support for generated columns (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Rather than storing a value only at row creation time, generated columns are also modified during updates, and can reference other table columns.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-01-20 [31f381740] Allow COPY FROM to filter data using WHERE conditions
|
|
-->
|
|
|
|
<para>
|
|
Add a <literal>WHERE</literal> clause to <command>COPY FROM</command> which controls which rows are output (Surafel Temesgen)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-10-09 [212fab992] Relax transactional restrictions on ALTER TYPE ... ADD V
|
|
-->
|
|
|
|
<para>
|
|
Allow enumerated values to be added in more transaction types (Andrew Dunstan, Tom Lane, Thomas Munro)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, <command>ALTER TYPE ... ADD VALUE</command> could only be called in a transaction that created the enumerated type. Now, the only restriction is that the new enumerated value
|
|
cannot be referenced until the transaction commits.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-24 [280a408b4] Transaction chaining
|
|
-->
|
|
|
|
<para>
|
|
Add command to end a transaction and start a new one (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The commands are <command>COMMIT AND CHAIN</command> and <command>ROLLBACK AND CHAIN</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-22 [5e1963fb7] Collations with nondeterministic comparison
|
|
-->
|
|
|
|
<para>
|
|
Allow the creation of collations that report string equality for strings that are not byte-wise equal (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This allows case and accent-agnostic equality comparisons using "nondeterministic" collations. This is only supported for <acronym>ICU</acronym> collations.
|
|
MENTION ITS AFFECT ON ORDERING?
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
2019-04-08 [119dcfad9] Add vacuum_truncate reloption.
|
|
Author: Fujii Masao <fujii@postgresql.org>
|
|
2019-05-08 [b84dbc8eb] Add TRUNCATE parameter to VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Add <command>VACUUM</command> and <command>CREATE TABLE</command> options to prevent <command>VACUUM</command> from truncating trailing empty pages (Tsunakawa Takayuki)
|
|
</para>
|
|
|
|
<para>
|
|
The options are <varname>vacuum_truncate</varname> and <varname>toast.vacuum_truncate</varname>. This reduces vacuum locking requirements.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-04-04 [a96c41fee] Allow VACUUM to be run with index cleanup disabled.
|
|
-->
|
|
|
|
<para>
|
|
Allow vacuum to avoid index cleanup with the <literal>INDEX_CLEANUP</literal> option (Masahiko Sawada)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-04 [803b1301e] Add option SKIP_LOCKED to VACUUM and ANALYZE
|
|
-->
|
|
|
|
<para>
|
|
Add the ability to skip <command>VACUUM</command> and <command>ANALYZE</command> operations on tables that cannot be immediately locked (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
This option is called <literal>SKIP_LOCKED</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-29 [41b54ba78] Allow existing VACUUM options to take a Boolean argument
|
|
-->
|
|
|
|
<para>
|
|
Allow <command>VACUUM</command> to take optional boolean argument specifications (Masahiko Sawada)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2019-04-04 [ea569d64a] Add SETTINGS option to EXPLAIN, to print modified settin
|
|
-->
|
|
|
|
<para>
|
|
Add <command>EXPLAIN</command> option <literal>SETTINGS</literal> to output non-default optimizer settings (Tomas Vondra)
|
|
</para>
|
|
|
|
<para>
|
|
This can also be output in auto-explain via <varname>auto_explain.log_settings</varname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Gierth <rhodiumtoad@postgresql.org>
|
|
2019-03-19 [01bde4fa4] Implement OR REPLACE option for CREATE AGGREGATE.
|
|
-->
|
|
|
|
<para>
|
|
Allow aggregates to be replaced (Andrew Gierth)
|
|
</para>
|
|
|
|
<para>
|
|
The command is <command>CREATE OR REPLACE AGGREGATE</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-19 [590a87025] Ignore attempts to add TOAST table to shared or catalog
|
|
-->
|
|
|
|
<para>
|
|
Allow modifications of system tables using <command>ALTER TABLE</command> (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This allows modifications of <literal>reloptions</literal> and autovacuum settings.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-30 [5f5c01459] Allow RECORD and RECORD[] to be specified in function co
|
|
-->
|
|
|
|
<para>
|
|
Allow <type>RECORD</type> and <type>RECORD[]</type> to be specified as a function return-value record (Elvis Pranskevichus)
|
|
</para>
|
|
|
|
<para>
|
|
DETAIL?
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-13 [f177660ab] Include all columns in default names for foreign key con
|
|
-->
|
|
|
|
<para>
|
|
Use all column names when creating default foreign key constraint names (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, only the first column name was used.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Data Types</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-24 [fd582317e] Sync our Snowball stemmer dictionaries with current upst
|
|
-->
|
|
|
|
<para>
|
|
Update Snowball stemmer dictionaries with support for new languages (Arthur Zakirov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-17 [b8f9a2a69] Add support for collation attributes on older ICU versio
|
|
-->
|
|
|
|
<para>
|
|
Add support for <acronym>ICU</acronym> collation customization attributes (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This allow modification of the collation rules. DETAILS?
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-19 [2ece7c07d] Add text-vs-name cross-type operators, and unify name_op
|
|
-->
|
|
|
|
<para>
|
|
Allow data type name to more seamlessly be compared to other text types (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Functions</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-03-16 [72b646033] Partial implementation of SQL/JSON path language
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-03-16 [16d489b0f] Numeric error suppression in jsonpath
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2019-04-01 [0a02e2ae0] GIN support for @@ and @? jsonpath operators
|
|
-->
|
|
|
|
<para>
|
|
Add support for the <acronym>SQL/JSON</acronym> path language (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, Liudmila Mantrova)
|
|
</para>
|
|
|
|
<para>
|
|
This allows execution of complex queries on <type>JSON</type> values using an <acronym>SQL</acronym>-standard language.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-03-12 [f1d85aa98] Add support for hyperbolic functions, as well as log10()
|
|
-->
|
|
|
|
<para>
|
|
Add support for hyperbolic functions (Lætitia Avrot)
|
|
</para>
|
|
|
|
<para>
|
|
Also add <function>log10()</function> as alias for <function>log()</function>, for standards compliance.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Dean Rasheed <dean.a.rasheed@gmail.com>
|
|
2018-10-06 [e954a727f] Improve the accuracy of floating point statistical aggre
|
|
-->
|
|
|
|
<para>
|
|
Improve the accuracy of statistical aggregates like <function>variance()</function> by using more precise algorithms (Dean Rasheed)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-14 [600b04d6b] Add a timezone-specific variant of date_trunc().
|
|
-->
|
|
|
|
<para>
|
|
Allow <function>date_trunc()</function> to have an additional argument to control the time zone (Vik Fearing, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is faster and simpler than using the <literal>AT TIME ZONE</literal> clause.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-09-09 [cf9846724] Improve behavior of to_timestamp()/to_date() functions
|
|
-->
|
|
|
|
<para>
|
|
Adjust <function>to_timestamp()</function>/<function>to_date()</function> functions to be more forgiving of template mismatches (Artur Zakirov, Alexander Korotkov, Liudmila Mantrova)
|
|
</para>
|
|
|
|
<para>
|
|
This new behavior more closely matches the Oracle functions of the same name. DETAILS?
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-07 [251cf2e27] Fix minor deficiencies in XMLTABLE, xpath(), xmlexists()
|
|
-->
|
|
|
|
<para>
|
|
Improve node detection and escaping of <acronym>XML</acronym> functions (Pavel Stehule, Markus Winand, Chapman Flack)
|
|
</para>
|
|
|
|
<para>
|
|
Specifically, in <literal>XMLTABLE</literal>, <function>xpath()</function>, and <function>xmlexists()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-07 [eaaa5986a] Fix the BY {REF,VALUE} clause of XMLEXISTS/XMLTABLE
|
|
-->
|
|
|
|
<para>
|
|
Allow the <literal>XML BY VALUE</literal> clause (Chapman Flack)
|
|
</para>
|
|
|
|
<para>
|
|
The clause has no effect.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Joe Conway <mail@joeconway.com>
|
|
2019-02-17 [290e3b77f] Mark pg_config() stable rather than immutable
|
|
-->
|
|
|
|
<para>
|
|
Mark <function>pg_config()</function> stable rather than immutable (Joe Conway)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Server-Side Languages</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-01-04 [4879a5172] Support plpgsql variable names that conflict with unrese
|
|
-->
|
|
|
|
<para>
|
|
Allow commands and variables with the same name as commands to be used in the same PL/pgSQL function (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
For example, allow a variable called comment to exist in the same function that calls the comment <acronym>SQL</acronym> command.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tomas Vondra <tomas.vondra@postgresql.org>
|
|
2018-07-25 [167075be3] Add strict_multi_assignment and too_many_rows plpgsql ch
|
|
-->
|
|
|
|
<para>
|
|
Add new optional warning and error checks to PL/pgSQL (Pavel Stehule)
|
|
</para>
|
|
|
|
<para>
|
|
The new checks allow for run-time validation of <literal>INTO</literal> column counts and single-row results.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Client Interfaces</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
2019-02-18 [050710b36] Add bytea datatype to ECPG.
|
|
-->
|
|
|
|
<para>
|
|
Allow <productname>ECPG</productname> to create variables of data type bytea (Ryo Matsumura)
|
|
</para>
|
|
|
|
<para>
|
|
This allows to interaction with bytea data directly, rather than using a binary encoding.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Meskes <meskes@postgresql.org>
|
|
2019-02-16 [bd7c95f0c] Add DECLARE STATEMENT support to ECPG.
|
|
-->
|
|
|
|
<para>
|
|
Add <command>DECLARE STATEMENT</command> support to <productname>ECPG</productname> (Takeshi Ideriha, Hayato Kuroda)
|
|
</para>
|
|
|
|
<para>
|
|
This allows statements to be associated with named connections, so future operations like cursors don't need to re-reference the connection name.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se
|
|
-->
|
|
|
|
<para>
|
|
Add parameter to control libpq's <acronym>TCP</acronym> timeout (Ryohei Nagaura)
|
|
</para>
|
|
|
|
<para>
|
|
|
|
The parameter is <varname>tcp_user_timeout</varname>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2019-04-04 [7bac3acab] Add a "SQLSTATE-only" error verbosity option to libpq an
|
|
-->
|
|
|
|
<para>
|
|
Allow libpq to report the <literal>SQLSTATE</literal> to output only this value (Didier Gautheron)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-11 [2970afa6c] Add PQresultMemorySize function to report allocated size
|
|
-->
|
|
|
|
<para>
|
|
Add libpq function to report the memory size of the query result (Lars Kanis, Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
The function is <function>PQresultMemorySize()</function>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-09-07 [1fea1e325] libpq: Change "options" dispchar to normal
|
|
-->
|
|
|
|
<para>
|
|
Remove the no-display/debug flag from the libpq <literal>options</literal> parameter (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This allows the option to be used by <application>postgres_fdw</application>.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Client Applications</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-04-01 [cc8d41511] Unified logging system for command-line programs
|
|
-->
|
|
|
|
<para>
|
|
Add colorization to the output of command-line utilities (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
This is enabled with by setting environment variable <envar>PG_COLORS</envar>. EXAMPLE?
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect4>
|
|
<title><xref linkend="app-psql"/></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-26 [aa2ba50c2] Add CSV table output mode in psql.
|
|
-->
|
|
|
|
<para>
|
|
Add <acronym>CSV</acronym> table output mode in <application>psql</application> (Daniel Vérité)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by <command>\pset format csv</command> or the command-line <option>--csv</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-11 [27f3dea64] psql: Add documentation URL to \help output
|
|
-->
|
|
|
|
<para>
|
|
Show the manual page <acronym>URL</acronym> in <application>psql</application>'s <command>\help</command> output (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2018-11-19 [6e5f8d489] psql: Show IP address in \conninfo
|
|
-->
|
|
|
|
<para>
|
|
Display the <acronym>IP</acronym> address in <application>psql</application>'s <command>\conninfo</command> (Fabien Coelho)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-23 [11a60d496] Add completion for storage parameters after CREATE TABLE
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-26 [5953c9969] Improve tab completion of CREATE EVENT TRIGGER in psql
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-10-26 [292ef6e27] Add tab completion of EXECUTE FUNCTION for CREATE TRIGGE
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-28 [23349b18d] Add tab completion for ALTER INDEX ALTER COLUMN in psql
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-20 [4cba9c2a3] Add more tab completion for CREATE TABLE in psql
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-20 [a7c4dad1a] Fix psql's tab completion for ALTER DATABASE ... SET TAB
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-12-25 [f89ae34ab] Improve tab completion of ALTER INDEX/TABLE with SET STA
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-20 [c9a8a401f] Fix psql's tab completion for TABLE.
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-21 [121213d9d] Improve tab completion for ANALYZE, EXPLAIN, and VACUUM.
|
|
-->
|
|
|
|
<para>
|
|
Improve tab completion of <command>CREATE TABLE, CREATE TRIGGER, CREATE EVENT TRIGGER, ANALYZE, EXPLAIN, VACUUM, ALTER TABLE, ALTER INDEX, ALTER DATABASE, ALTER INDEX ALTER COLUMN</command> (Dagfinn Ilmari Mannsåker, Tatsuro Yamada, Michael Paquier, Tom Lane, Justin Pryzby)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title><link linkend="pgbench"><application>pgbench</application></link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-01-10 [6260cc550] pgbench: add \cset and \gset commands
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-25 [25ee70511] pgbench: Remove \cset
|
|
-->
|
|
|
|
<para>
|
|
Allow values produced by queries to be assigned to pgbench variables (Fabien Coelho, Álvaro Herrera)
|
|
</para>
|
|
|
|
<para>
|
|
The commands is <command>\gset</command>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-25 [5b7e03670] Avoid unnecessary precision loss for pgbench's - -rate ta
|
|
-->
|
|
|
|
<para>
|
|
Compute behavior based on pgbench's <option>--rate</option> value more precisely (Tom Lane)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-10-15 [5b75a4f82] pgbench: Report errors during run better
|
|
-->
|
|
<para>
|
|
Improve pgbench error reporting with clearer messages and return codes (Fabien Coelho)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Server Applications</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-31 [00d1e88d3] Add - -min-xid-age and - -min-mxid-age options to vacuumdb
|
|
-->
|
|
|
|
<para>
|
|
Allow vacuumdb to select tables for vacuum based on their wraparound horizon (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
The options are <option>--min-xid-age</option> and <option>--min-mxid-age</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-08 [354e95d1f] Add - -disable-page-skipping and - -skip-locked to vacuumd
|
|
-->
|
|
|
|
<para>
|
|
Add vacuumdb to disable waiting for locks or skipping all-visible pages (Nathan Bossart)
|
|
</para>
|
|
|
|
<para>
|
|
The options are <option>--skip-locked</option> and <option>--disable-page-skipping</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alexander Korotkov <akorotkov@postgresql.org>
|
|
2018-09-01 [ec7436993] Implement "pg_ctl logrotate" command
|
|
-->
|
|
|
|
<para>
|
|
Allow control of log file rotation via <application>pg_ctl</application> (Kyotaro Horiguchi, Alexander Kuzmenkov, Alexander Korotkov)
|
|
</para>
|
|
|
|
<para>
|
|
Previously, this was only possible via an <acronym>SQL</acronym> function or a process signal.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
|
|
2019-01-14 [bb24439ce] Detach postmaster process from pg_ctl's session at serve
|
|
-->
|
|
|
|
<para>
|
|
Properly detach the server on <application>pg_ctl</application> start (Paul Guo)
|
|
</para>
|
|
|
|
<para>
|
|
This prevents later shell activity from interfering with the postmaster.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter_e@gmx.net>
|
|
2018-11-07 [3a769d823] pg_upgrade: Allow use of file cloning
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>pg_upgrade</application> to use the file system cloning feature (Peter Eisentraut)
|
|
</para>
|
|
|
|
<para>
|
|
The <option>--clone</option> option has the advantages of <option>--link</option>, while preventing the old cluster from being changed after the new cluster has started.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-12-01 [2d34ad843] Add a - -socketdir option to pg_upgrade.
|
|
-->
|
|
|
|
<para>
|
|
Allow specification of the <application>pg_upgrade</application> socket directory (Daniel Gustafsson)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by <option>--socketdir</option>; the default is the current directory.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-13 [23bd3cec6] Attempt to identify system timezone by reading /etc/loca
|
|
-->
|
|
|
|
<para>
|
|
Have initdb determine the local timezone from the <filename>/etc/localtime</filename> symbolic link, if it exists (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This is more likely to produce the desired time zone string when multiple identical time zones exist.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-03-23 [e0090c869] Add option -N/- -no-sync to pg_checksums
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>pg_checksums</application> to disable fsync operations (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
This is controlled by the <option>--no-sync</option> option.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-07-10 [8a00b96aa] Add pg_rewind - -no-sync
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>pg_rewind</application> to disable fsync operations (Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
<sect4>
|
|
<title><link linkend="app-pgdump"><application>pg_dump</application></link>,
|
|
<link linkend="app-pg-dumpall"><application>pg_dumpall</application></link>,
|
|
<link linkend="app-pgrestore"><application>pg_restore</application></link></title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
|
|
2019-03-07 [7e413a0f8] pg_dump: allow multiple rows per insert
|
|
-->
|
|
|
|
<para>
|
|
Allow control over the number of rows each <application>pg_dump</application> <command>INSERT</command> statement uses (Surafel Temesgen, David Rowley)
|
|
</para>
|
|
|
|
<para>
|
|
The option is <option>--rows-per-insert</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2019-03-01 [f092de050] Add - -exclude-database option to pg_dumpall
|
|
-->
|
|
|
|
<para>
|
|
Add <option>--exclude-database</option> option to <application>pg_dumpall</application> (Andrew Dunstan)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-07-13 [387a5cfb9] Add pg_dump - -on-conflict-do-nothing option.
|
|
-->
|
|
|
|
<para>
|
|
Allow restoration of an <command>INSERT</command>-statement dump to skip rows which would cause conflicts (Surafel Temesgen)
|
|
</para>
|
|
|
|
<para>
|
|
The <application>pg_dump</application> option is <option>--on-conflict-do-nothing</option>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-14 [548e50976] Improve parallel scheduling logic in pg_dump/pg_restore.
|
|
-->
|
|
|
|
<para>
|
|
Decouple the order of parallel <application>pg_dump</application> from the order used by <application>pg_restore</application> (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
This allows <application>pg_restore</application> to perform more efficient parallel restores.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2019-02-18 [af25bc03e] Provide an extra-float-digits setting for pg_dump / pg_d
|
|
-->
|
|
|
|
<para>
|
|
Allow the number of float digits to be specified for <application>pg_dump</application> and <application>pg_dumpall</application> (Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
This allows the float digit output to match previous dumps.
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect4>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Source Code</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-06 [8586bf7ed] tableam: introduce table AM infrastructure.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-06 [3b925e905] tableam: Add pg_dump support.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-11 [c2fe139c2] tableam: Add and use scan APIs.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-23 [5db6df0c0] tableam: Add tuple_{insert, delete, update, lock} and us
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-28 [d25f51910] tableam: relation creation, VACUUM FULL/CLUSTER, SET TAB
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-29 [d3a5fc17e] Show table access methods as such in psql's \dA.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-31 [73c954d24] tableam: sample scan.
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2019-03-31 [bfbcad478] tableam: bitmap table scan.
|
|
-->
|
|
|
|
<para>
|
|
Add <command>CREATE ACCESS METHOD</command> command to create new table types (Haribabu Kommi, Andres Freund, Alvaro Herrera, Dimitri Dolgov)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-12-13 [09568ec3d] Create a separate oid range for oids assigned by genbki.
|
|
-->
|
|
|
|
<para>
|
|
Reserve a range of oids (9000-9999) to be used for external extensions (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2018-10-02 [a33245a85] Don't build static libraries on Cygwin
|
|
-->
|
|
|
|
<para>
|
|
Build Cygwin binaries using dynamic instead of static libraries (Marco Atzeri)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-01 [1707a0d2a] Remove configure switch - -disable-strong-random
|
|
-->
|
|
|
|
<para>
|
|
Remove configure switch <option>--disable-strong-random</option> (Michael Paquier)
|
|
</para>
|
|
|
|
<para>
|
|
A strong random source is now required.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-09-26 [26e9d4d4e] Convert elog.c's useful_strerror() into a globally-used
|
|
-->
|
|
|
|
<para>
|
|
Properly report Winsock errors on Windows (Tom Lane)
|
|
</para>
|
|
|
|
<para>
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andres Freund <andres@anarazel.de>
|
|
2018-08-23 [d9dd406fe] Require C99 (and thus MSCV 2013 upwards).
|
|
-->
|
|
|
|
<para>
|
|
Require a C99-supported compiler, and <acronym>MSCV</acronym> 2013 or later on Windows (Andres Freund)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Source Code</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-03-27 [ea55aec0a] doc: Add some images
|
|
-->
|
|
|
|
<para>
|
|
Add images to the <productname>PostgreSQL</productname> documentation (Jürgen Purtz)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Robert Haas <rhaas@postgresql.org>
|
|
2019-03-29 [c900c1526] Warn more strongly about the dangers of exclusive backup
|
|
-->
|
|
|
|
<para>
|
|
More clearly document the problems of server failure during exclusive base backups (David Steele, Robert Haas)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Greg Stark <stark@mit.edu>
|
|
2018-10-09 [36e9d413a] Add "B" suffix for bytes to docs
|
|
-->
|
|
|
|
<para>
|
|
Document that the "B"/bytes units can be specified for server variables (Greg Stark)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Joe Conway <mail@joeconway.com>
|
|
2018-09-24 [c62dd80cd] Document aclitem functions and operators
|
|
-->
|
|
|
|
<para>
|
|
Add documentation for aclitem functions and operators (Fabien Coelho, John Naylor)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<!--
|
|
Author: Peter Eisentraut <peter@eisentraut.org>
|
|
2019-04-26 [60bbf0753] doc: Update section on NFS
|
|
-->
|
|
|
|
<para>
|
|
Update documentation on the use of <acronym>NFS</acronym> (Peter Eisentraut)
|
|
</para>
|
|
</listitem>
|
|
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Additional Modules</title>
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-04-02 [ffab494a4] postgres_fdw: Perform the (ORDERED, NULL) upperrel opera
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-04-02 [d50d172e5] postgres_fdw: Perform the (FINAL, NULL) upperrel operati
|
|
-->
|
|
|
|
<para>
|
|
Allow more <literal>ORDER BY</literal> sorts and <literal>LIMIT</literal> clauses to be pushed to <application>postgres_fdw</application> foreign tables (Etsuro Fujita)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2018-12-04 [f8f6e4467] postgres_fdw: Improve cost and size estimation for aggre
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-01-24 [fd1afdbaf] postgres_fdw: Account for tlist eval costs in estimate_p
|
|
Author: Etsuro Fujita <efujita@postgresql.org>
|
|
2019-05-09 [edbcbe277] postgres_fdw: Fix cost estimation for aggregate pushdown
|
|
-->
|
|
|
|
<para>
|
|
Improve optimizer cost accounting for pushdown of aggregates to <application>postgres_fdw</application> tables (Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
This release also improves costing of <application>postgres_fdw</application> target list generation.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Jeff Davis <jdavis@postgresql.org>
|
|
2018-07-08 [a45adc747] Fix WITH CHECK OPTION on views referencing postgres_fdw
|
|
-->
|
|
|
|
<para>
|
|
Properly honor <literal>WITH CHECK OPTION</literal> on views that reference <application>postgres_fdw</application> tables (Etsuro Fujita)
|
|
</para>
|
|
|
|
<para>
|
|
While <literal>CHECK OPTION</literal>s on <application>postgres_fdw</application> tables are ignored (because the reference is foreign), views on such tables are considered local, so this release enforces <literal>CHECK
|
|
OPTION</literal>s on them. Previously, only <command>INSERT</command>s and <command>UPDATE</command>s with <literal>RETURNING</literal> clauses that returned <literal>CHECK OPTION</literal> values were validated.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Amit Kapila <akapila@postgresql.org>
|
|
2019-01-11 [43cbedab8] Extend pg_stat_statements_reset to reset statistics spec
|
|
-->
|
|
|
|
<para>
|
|
Allow <function>pg_stat_statements_reset()</function> to be more granular (Haribabu Kommi, Amit Kapila)
|
|
</para>
|
|
|
|
<para>
|
|
The function now allows reset of statistics for specific databases, users, and queries.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Andrew Dunstan <andrew@dunslane.net>
|
|
2018-07-31 [2d36a5e9d] Provide a log_level setting for auto_explain
|
|
-->
|
|
|
|
<para>
|
|
Allow control of the <application>auto_explain</application> log level (Tom Dunstan, Andrew Dunstan)
|
|
</para>
|
|
|
|
<para>
|
|
The default is <literal>LOG</literal>.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2019-01-10 [e1c1d5444] Update unaccent rules with release 34 of CLDR for Latin-
|
|
-->
|
|
|
|
<para>
|
|
Update <application>unaccent</application> rules with new punctuation and symbols (Hugh Ranalli, Michael Paquier)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2019-02-01 [456e3718e] Add combining characters to unaccent.rules.
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>unaccent</application> to handle some accents encoded as combining characters (Hugh Ranalli)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Thomas Munro <tmunro@postgresql.org>
|
|
2018-09-02 [5e8d670c3] Add Greek characters to unaccent.rules.
|
|
-->
|
|
|
|
<para>
|
|
Allow <application>unaccent</application> to remove accents from Greek characters (Tasos Maschalidis)
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-23 [48c41fa97] Add a 64-bit hash function for type <type>citext</type>.
|
|
-->
|
|
|
|
<para>
|
|
Add 64-bit hash function to citext (Amul Sul)
|
|
</para>
|
|
|
|
<para>
|
|
The function <function>citext_hash_extended()</function> also requires a seed value. NO DOCS?
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Tom Lane <tgl@sss.pgh.pa.us>
|
|
2018-11-23 [eb6f29141] Add a 64-bit hash function for type <application>hstore</application>.
|
|
-->
|
|
|
|
<para>
|
|
Add 64-bit hash function to hstore (Amul Sul)
|
|
</para>
|
|
|
|
<para>
|
|
The function <function>hstore_hash_extended()</function> also requires a seed value. NO DOCS?
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<!--
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-08-28 [1aaf532de] Rework option set of oid2name
|
|
Author: Michael Paquier <michael@paquier.xyz>
|
|
2018-08-28 [bfea331a5] Rework option set of vacuumlo
|
|
-->
|
|
|
|
<para>
|
|
Improve <application>oid2name</application> and <application>vacuumlo</application> option handling to match other commands (Tatsuro Yamada)
|
|
</para>
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="release-12-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>
|