diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2019-07-01 12:50:55 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2019-07-01 12:50:55 -0400 |
commit | 615cebc94b5ef8fbe353e3c8b838b1e97bcdfd49 (patch) | |
tree | d598ba14ee3bb6974dc4b6c445c8e85bdb6c242a /doc/src | |
parent | 9e1c9f959422192bbe1b842a2a1ffaf76b080196 (diff) | |
download | postgresql-615cebc94b5ef8fbe353e3c8b838b1e97bcdfd49.tar.gz postgresql-615cebc94b5ef8fbe353e3c8b838b1e97bcdfd49.zip |
Stamp HEAD as 13devel.
Let the hacking begin ...
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/filelist.sgml | 2 | ||||
-rw-r--r-- | doc/src/sgml/release-12.sgml | 3249 | ||||
-rw-r--r-- | doc/src/sgml/release-13.sgml | 16 | ||||
-rw-r--r-- | doc/src/sgml/release.sgml | 2 |
4 files changed, 18 insertions, 3251 deletions
diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 8960f112786..3da2365ea97 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -166,7 +166,7 @@ <!ENTITY sourcerepo SYSTEM "sourcerepo.sgml"> <!ENTITY release SYSTEM "release.sgml"> -<!ENTITY release-12 SYSTEM "release-12.sgml"> +<!ENTITY release-13 SYSTEM "release-13.sgml"> <!ENTITY limits SYSTEM "limits.sgml"> <!ENTITY acronyms SYSTEM "acronyms.sgml"> diff --git a/doc/src/sgml/release-12.sgml b/doc/src/sgml/release-12.sgml deleted file mode 100644 index a7ff5cb4be7..00000000000 --- a/doc/src/sgml/release-12.sgml +++ /dev/null @@ -1,3249 +0,0 @@ -<!-- 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 <link - linkend="datatype-oid">OID</link> 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. <command>SELECT *</command> - will now output those columns for the many system tables which - have them. Previously, the columns had to be selected explicitly. - </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 <link - linkend="runtime-config-wal-archive-recovery"><filename>postgresql.conf</filename></link> - (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. <link - linkend="runtime-config-wal-archive-recovery">recovery.signal</link> - and standby.signal are now used to switch into non-primary - mode. <varname>trigger_file</varname> has been renamed - to <xref linkend="guc-promote-trigger-file"/>. 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 conflicting <link - linkend="runtime-config-wal-recovery-target"><varname>recovery_target</varname>*</link> - specifications (Peter Eisentraut) - </para> - - <para> - Specifically, only allow one of <xref - linkend="guc-recovery-target"/>, <xref - linkend="guc-recovery-target-lsn"/>, - <xref linkend="guc-recovery-target-name"/>, - <xref linkend="guc-recovery-target-time"/>, <xref - linkend="guc-recovery-target-xid"/>. Previously, multiple different - instances of the variables above could be specified, and the last one - 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, <xref linkend="guc-recovery-target-timeline"/> 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 <link linkend="functions-geometry">geometric - functions</link> 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 <link linkend="datatype-geometric">geometric - types</link> 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 <link - linkend="datatype-geometric">line data type</link> (Emre Hasegeli) - </para> - </listitem> - - <listitem> -<!-- -Author: Andrew Gierth <rhodiumtoad@postgresql.org> -2019-02-13 [02ddd4993] Change floating-point output format for improved perform ---> - - <para> - Improve performance by changing the default number of trailing digits - output for <link linkend="datatype-float"><type>REAL</type></link> - and <type>DOUBLE PRECISION</type> values (Andrew Gierth) - </para> - - <para> - Previously, float values were output rounded to 6 or 15 decimals - by default. Now, only the number of digits required to preserve - the exact binary value is output. The previous behavior can be - restored by setting <xref linkend="guc-extra-float-digits"/> to zero. - </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 <link linkend="functions-xml"><acronym>XML</acronym></link> - 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 <xref - linkend="app-pgchecksums"/> (Michaël 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 <xref linkend="app-pgrestore"/> - <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> -<!-- -This is caused by adding the tid to the btree entry, as listed later. ---> - - <para> - The maximum btree index length is now reduced by eight bytes; - a <xref linkend="sql-reindex"/> operation could potentially fail. - </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 <link - linkend="datatype-character-special-table">name</link> 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 <link linkend="sql-dropfunction"><command>DROP IF EXISTS - FUNCTION</command></link>/<literal>PROCEDURE</literal>/<literal>AGGREGATE</literal>/<literal>ROUTINE</literal> - 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 <link - linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<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 <link - linkend="catalog-pg-attrdef"><structname>pg_attrdef</structname></link>.<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, <xref linkend="guc-dynamic-shared-memory-type"/> - 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><link linkend="ddl-partitioning">Partitioning</link></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 ---> - - <para> - Improve performance of many operations on partitioned tables - (Amit Langote, David Rowley, Tom Lane, Álvaro Herrera) - </para> - - <para> - Allow tables with thousands of child partitions to be processed - efficiently by operations that only affect a small number of - partitions. - </para> - </listitem> - - <listitem> -<!-- -Author: Alvaro Herrera <alvherre@alvh.no-ip.org> -2019-04-03 [f56f8f8da] Support foreign keys that reference partitioned tables ---> - - <para> - Allow <link linkend="ddl-constraints-fk">foreign keys</link> - to reference partitioned tables (Álvaro 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 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: Tom Lane <tgl@sss.pgh.pa.us> -2019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning ordered ---> - - <para> - Avoid sorting when partitions are already being scanned in the - necessary order (David Rowley) - </para> - </listitem> - - <listitem> -<!-- -Author: Robert Haas <rhaas@postgresql.org> -2019-03-07 [898e5e329] Allow ATTACH PARTITION with only ShareUpdateExclusiveLoc ---> - - <para> - <link linkend="sql-altertable"><command>ATTACH - PARTITION</command></link> 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 -Author: Alvaro Herrera <alvherre@alvh.no-ip.org> -2019-03-04 [b96f6b194] pg_partition_ancestors -Author: Michael Paquier <michael@paquier.xyz> -2018-10-30 [d5eec4eef] Add pg_partition_tree to display information about parti ---> - - <para> - Add partition introspection functions (Michaël Paquier, Álvaro - Herrera, Amit Langote) - </para> - - <para> - New function <link - linkend="functions-info-partition"><function>pg_partition_root()</function></link> - returns the top-most parent of a partition tree, <link - linkend="functions-info-partition"><function>pg_partition_ancestors()</function></link> - reports all ancestors of a partition, and <link - linkend="functions-info-partition"><function>pg_partition_tree()</function></link> - displays information about partitions. - </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 <link - linkend="view-pg-indexes"><structname>pg_indexes</structname></link> - (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 - Stěhule, 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> - Fix bugs that could cause <command>ALTER TABLE DETACH - PARTITION</command> to not drop objects that should be dropped, - such as automatically-created child indexes (Tom Lane) - </para> - </listitem> - - </itemizedlist> - - </sect4> - - <sect4> - <title>Indexes</title> - - <itemizedlist> - - <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. -Author: Peter Geoghegan <pg@bowt.ie> -2019-03-25 [f21668f32] Add "split after new tuple" nbtree optimization. ---> - - <para> - Improve performance and space utilization of btree indexes with - many duplicates (Peter Geoghegan, Heikki Linnakangas) - </para> - - <para> - Previously, duplicate index entries were stored unordered within - their duplicate groups. This caused overhead during index - inserts, wasted space due to excessive page splits, and reduced - <command>VACUUM</command>'s ability to recycle entire pages. - Duplicate index entries are now sorted in heap-storage order. - </para> - - <para> - Indexes <application>pg_upgraded</application> from previous - releases will not have these benefits. - </para> - </listitem> - - <listitem> -<!-- -see commits above ---> - - <para> - Allow multi-column btree indexes to be smaller (Peter Geoghegan, - Heikki Linnakangas) - </para> - - <para> - Internal pages and min/max leaf page indicators now only store - index keys until the change key, rather than all indexed keys. - This also improves the locality of index access. - </para> - - <para> - Indexes <application>pg_upgraded</application> from previous - releases will not have these benefits. - </para> - </listitem> - - <listitem> -<!-- -Author: Alexander Korotkov <akorotkov@postgresql.org> -2018-07-28 [d2086b08b] Reduce path length for locking leaf B-tree pages during ---> - - <para> - Improve speed of btree index insertions by reducing locking - overhead (Alexander Korotkov) - </para> - </listitem> - - <listitem> -<!-- -Author: Alexander Korotkov <akorotkov@postgresql.org> -2019-03-10 [f2e403803] Support for INCLUDE attributes in GiST indexes ---> - - <para> - Support <link - linkend="sql-createindex"><literal>INCLUDE</literal></link> columns - in <link linkend="gist">GiST</link> 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 <link linkend="spgist">SP-GiST</link> indexes (Nikita Glukhov, - Alexander Korotkov, Vlad Sterzhanov) - </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: 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 <xref linkend="sql-createstatistics"/> 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 <link linkend="queries-with">common table expressions</link> - (<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 Stěhule) - </para> - - <para> - This is controlled by the <xref linkend="guc-plan-cache_mode"/> - 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 involving columns of type tid (Tom Lane) - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2019-03-25 [8edd0e794] Suppress Append and MergeAppend plan nodes that have a s ---> - - <para> - Improve optimization of partition and <literal>UNION ALL</literal> - queries that have only a single child (David Rowley) - </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 <link - linkend="sql-createdomain">domains</link> 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 <link - linkend="functions-greatest-least"><literal>LEAST</literal></link> - 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 <link - linkend="datatype-oid"><type>tid</type></link> 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 <link linkend="jit">Just-in-Time</link> - (<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: Andres Freund <andres@anarazel.de> -2019-01-26 [a9c35cf85] Change function call information to be variable length. ---> - - <para> - Greatly reduce memory consumption of <xref linkend="sql-copy"/> - 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 <link linkend="storage-toast"><literal>TOAST</literal></link> - 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 <link linkend="sql-altertable"><command>ALTER TABLE .. SET - NOT NULL</command></link> 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 - <type>int2</type>/<type>int4</type> integers (Andres Freund) - </para> - </listitem> - - <listitem> -<!-- -Author: Thomas Munro <tmunro@postgresql.org> -2019-03-15 [bb16aba50] Enable parallel query with SERIALIZABLE isolation. ---> - - <para> - Allow parallelized queries when in <link - linkend="sql-set-transaction"><literal>SERIALIZABLE</literal></link> - isolation mode (Thomas Munro) - </para> - - <para> - Previously, parallelism was disabled when in this mode. - </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 <link - linkend="guc-update-process-title">process title</link> 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 <xref linkend="guc-log-min-duration-statement"/> criteria - (Adrien Nayrat) - </para> - - <para> - The parameters <xref linkend="guc-log-statement-sample-rate"/> - and <xref linkend="guc-log-transaction-sample-rate"/> 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 (Álvaro Herrera, Peter - Eisentraut) - </para> - - <para> - Progress is reported in the <link - linkend="progress-reporting"><structname>pg_stat_progress_create_index</structname></link> - 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 <link - linkend="vacuum-progress-reporting"><structname>pg_stat_progress_cluster</structname></link> - 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 <xref linkend="app-pgchecksums"/> - (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 <link - linkend="pg-stat-database-view"><structname>pg_stat_database</structname></link>.<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 <link - linkend="functions-admin-genfile-table"><function>pg_ls_archive_statusdir()</function></link>. - </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, <link - linkend="functions-admin-genfile-table"><function>pg_ls_tmpdir()</function></link>, - 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 <link - linkend="pg-stat-ssl-view"><structname>pg_stat_ssl</structname></link> - 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 <xref linkend="guc-application-name"/> - 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 <link - linkend="pg-stat-replication-view"><structname>pg_stat_replication</structname></link> - (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 <link linkend="wait-event-table">wait event</link> 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 <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link> - client and server-side encryption support (Robbie Harwood, - Stephen Frost) - </para> - - <para> - Add <link - linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> - <link - linkend="auth-pg-hba-conf"><literal>hostgssenc</literal></link> - and <literal>hostnogssenc</literal> record types. This would - typically use the <literal>gss</literal> authentication method. - This also adds a libpq <xref linkend="libpq-connect-gssencmode"/> - option, and a <xref linkend="pg-stat-gssapi-view"/> 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 <link - linkend="auth-cert"><literal>clientcert</literal></link> - <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 <link - linkend="auth-ldap"><acronym>LDAP</acronym></link> server using - <acronym>DNS SRV</acronym> records (Thomas Munro) - </para> - - <para> - This avoids the requirement of specifying - <literal>ldapserver</literal>, and is only supported if - <productname>PostgreSQL</productname> is compiled with - <productname>OpenLDAP</productname>. - </para> - </listitem> - - <listitem> -<!-- -Author: Michael Paquier <michael@paquier.xyz> -2018-08-10 [f841ceb26] Improve TRUNCATE by avoiding early lock queue ---> - - <para> - Prevent <xref linkend="sql-truncate"/> from requesting a lock on - tables for which the user lacks permission (Michaël Paquier) - </para> - - <para> - This prevents unauthorized locking, which could interfere with - user queries. - </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 - (Michaël Paquier) - </para> - - <para> - This prevents unauthorized locking, which could interfere with - user queries. - </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 <xref - linkend="app-pgchecksums"/> (Michael Banck, Michaël 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 <xref - linkend="guc-autovacuum-vacuum-cost-delay"/> 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 <xref linkend="guc-vacuum-cost-delay"/> 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 <link - linkend="config-setting">micro-seconds</link> (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 <xref linkend="guc-wal-recycle"/> and <xref - linkend="guc-wal-init-zero"/> 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 <xref linkend="guc-tcp-user-timeout"/>. - </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 <xref - linkend="guc-ssl-min-protocol-version"/> and <xref - linkend="guc-ssl-max-protocol-version"/>. - </para> - </listitem> - - <listitem> -<!-- -Author: Peter Eisentraut <peter_e@gmx.net> -2018-07-30 [98efa76fe] Add ssl_library preset parameter ---> - - <para> - Add server variable <xref linkend="guc-ssl-library"/> 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 <xref linkend="guc-shared-memory-type"/>. - Its purpose is to allow selection of <productname>System - V</productname> 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 <xref linkend="guc-archive-cleanup-command"/>, - <xref linkend="guc-promote-trigger-file"/>, <xref - linkend="guc-recovery-end-command"/>, and <xref - linkend="guc-recovery-min-apply-delay"/>. - </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 (<xref - linkend="guc-wal-sender-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 <link - linkend="functions-recovery-control"><function>pg_promote()</function></link> - to promote standbys to primaries (Laurenz Albe, Michaël Paquier) - </para> - - <para> - Previously, this operation was only possible by using <xref - linkend="app-pg-ctl"/> 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 <link - linkend="functions-replication-table"><function>pg_copy_physical_replication_slot()</function></link> - 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 <xref linkend="guc-max-wal-senders"/> not count as part of - <xref linkend="guc-max-connections"/> (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 <literal>current</literal> for <xref - linkend="guc-recovery-target-timeline"/> (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 <link - linkend="sql-prepare-transaction">two-phase transaction</link> - status file is corrupt (Michaël 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 <xref linkend="sql-reindex"/> <literal>CONCURRENTLY</literal> - to allow reindexing concurrently (Michaël Paquier, Andreas - Karlsson, Peter Eisentraut) - </para> - - <para> - This is also controlled by the <xref linkend="app-reindexdb"/> - <option>--concurrently</option> option. - </para> - </listitem> - - <listitem> -<!-- -Author: Peter Eisentraut <peter@eisentraut.org> -2019-03-30 [fc22b6623] Generated columns ---> - - <para> - Add support for <link linkend="sql-createtable">generated - columns</link> (Peter Eisentraut) - </para> - - <para> - The content of generated columns are computed from expressions - (including references to other columns in the same table) - rather than being specified by <command>INSERT</command> or - <command>UPDATE</command> commands. - </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, <link linkend="sql-altertype"><command>ALTER - TYPE ... ADD VALUE</command></link> 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 <link linkend="sql-commit"><command>COMMIT AND - CHAIN</command></link> 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 <link - linkend="sql-createcollation">collations</link> 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 <xref linkend="sql-vacuum"/> 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> and <command>ANALYZE</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 <xref linkend="sql-explain"/> option - <literal>SETTINGS</literal> to output non-default optimizer - settings (Tomas Vondra) - </para> - - <para> - This can also be output in auto-explain via <xref - linkend="auto-explain"/>.<literal>log_settings</literal>. - </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 <link linkend="sql-createaggregate"><command>CREATE - OR REPLACE AGGREGATE</command></link>. - </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 table options using <xref - linkend="sql-altertable"/> (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 used - as column types in a query's column definition list for a <link - linkend="sql-createfunction">table function</link> that is declared - to return <type>RECORD</type> (Elvis Pranskevichus) - </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> - - <para> - This adds stemming for Arabic, Indonesian, Irish, Lithuanian, Nepali, - and Tami to <link linkend="textsearch">full text search</link>. - </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 <link linkend="datatype-oid">name</link> 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> <link - linkend="functions-json-processing-table">path</link> 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 <link linkend="functions-math-hyp-table">hyperbolic - functions</link> (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 <link - linkend="functions-aggregate-statistics-table"><function>variance()</function></link> - 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 <link - linkend="functions-datetime-table"><function>date_trunc()</function></link> - 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 <link - linkend="functions-formatting-table"><function>to_timestamp()</function></link>/<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 - <productname>Oracle</productname> 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 <link - linkend="functions-xml"><acronym>XML</acronym> functions</link> - (Pavel Stěhule, 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: Michael Paquier <michael@paquier.xyz> -2019-03-27 [5bde1651b] Switch function current_schema[s]() to be parallel-unsaf ---> - - <para> - Prevent <link - linkend="functions-info-session-table"><function>current_schema()</function></link> - and <function>current_schemas()</function> from being run by - parallel workers (Michaël Paquier) - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3> - <title><link linkend="plpgsql">PL/pgSQL</link></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 - Stěhule) - </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 <xref linkend="app-ecpg"/> to create variables of data type - bytea (Ryo Matsumura) - </para> - - <para> - This allows to interaction with <type>bytea</type> 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 <xref linkend="libpq-tcp-user-timeout"/>. - </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 <link - linkend="libpq-pqresultmemorysize"><function>PQresultMemorySize()</function></link>. - </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: Michael Paquier <michael@paquier.xyz> -2019-01-31 [00d1e88d3] Add - -min-xid-age and - -min-mxid-age options to vacuumdb ---> - - <para> - Allow <xref linkend="app-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: 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, Michaël 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> - Improve precision of pgbench's <option>--rate</option> - option (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 (Peter Eisentraut) - </para> - </listitem> - - </itemizedlist> - - </sect4> - - </sect3> - - <sect3> - <title>Server Applications</title> - - <itemizedlist> - - <listitem> -<!-- -Author: Michael Paquier <michael@paquier.xyz> -2019-01-08 [354e95d1f] Add - -disable-page-skipping and - -skip-locked to vacuumd ---> - - <para> - Allow 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 <xref linkend="app-pg-ctl"/> - (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 <xref linkend="pgupgrade"/> 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: Michael Paquier <michael@paquier.xyz> -2019-03-23 [e0090c869] Add option -N/- -no-sync to pg_checksums ---> - - <para> - Allow <xref linkend="app-pgchecksums"/> to disable fsync operations - (Michaël 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 <xref linkend="app-pgrewind"/> to disable fsync operations - (Michaël 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 pg_dump to emit <command>INSERT ... ON CONFLICT DO - NOTHING</command> (Surafel Temesgen) - </para> - - <para> - This avoids conflict failures during restore. - 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> -2018-11-16 [4da597edf] Make TupleTableSlots extensible, finish split of -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. -existin ---> - - <para> - Add <xref linkend="sql-create-access-method"/> command to create - new table types (Andres Freund, Haribabu Kommi, Álvaro Herrera, - Alexander Korotkov, Dmitry Dolgov) - </para> - - <para> - This enables the development of new <link linkend="tableam">table - access methods</link>, which can optimize storage for different - use-cases. The existing <literal>heap</literal> access method - remains the default. - </para> - </listitem> - - <listitem> -<!-- -Author: Tom Lane <tgl@sss.pgh.pa.us> -2019-02-09 [1fb57af92] Create the infrastructure for planner support functions. -Author: Tom Lane <tgl@sss.pgh.pa.us> -2019-02-09 [a391ff3c3] Build out the planner support function infrastructure. ---> - - <para> - Add support function capability to improve optimizer estimates, - inlining, and indexing for functions (Tom Lane) - </para> - - <para> - This allows extensions to create planner support functions that - can provide function-specific selectivity, cost, and row-count - estimates that can depend on the function's arguments. Support - functions can also supply simplified representations and index - conditions, greatly expanding optimization possibilities. - </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 <productname>Cygwin</productname> 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 <application>configure</application> switch - <option>--disable-strong-random</option> (Michaël 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 - <productname>Windows</productname> (Tom Lane) - </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>MSVC</acronym> - 2013 or later on <productname>Windows</productname> (Andres Freund) - </para> - </listitem> - - </itemizedlist> - - </sect3> - - <sect3> - <title>Documentation</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 <link - linkend="backup-lowlevel-base-backup-exclusive">exclusive base - backups</link> (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 <literal>B</literal>/bytes units can be specified - for <link linkend="config-setting">server variables</link> - (Greg Stark) - </para> - </listitem> - - <listitem> -<!-- -Author: Joe Conway <mail@joeconway.com> -2018-09-24 [c62dd80cd] Document aclitem functions and operators ---> - - <para> - Add <link linkend="functions-aclitem-op-table">documentation</link> - for <type>aclitem</type> 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 <link - linkend="creating-cluster-nfs"><acronym>NFS</acronym></link> - (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 - <xref linkend="postgres-fdw"/> 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 <link - linkend="pgstatstatements"><function>pg_stat_statements_reset()</function></link> - 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 <xref linkend="auto-explain"/> 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, Michaël Paquier) - </para> - </listitem> - - <listitem> -<!-- -Author: Thomas Munro <tmunro@postgresql.org> -2019-02-01 [456e3718e] Add combining characters to unaccent.rules. ---> - - <para> - Allow <xref linkend="unaccent"/> 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 <xref linkend="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 <xref linkend="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 <xref linkend="oid2name"/> and <xref linkend="vacuumlo"/> - 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> diff --git a/doc/src/sgml/release-13.sgml b/doc/src/sgml/release-13.sgml new file mode 100644 index 00000000000..d5530f4130d --- /dev/null +++ b/doc/src/sgml/release-13.sgml @@ -0,0 +1,16 @@ +<!-- doc/src/sgml/release-13.sgml --> +<!-- See header comment in release.sgml about typical markup --> + + <sect1 id="release-13"> + <title>Release 13</title> + + <formalpara> + <title>Release date:</title> + <para>2020-??-??</para> + </formalpara> + + <para> + This is just a placeholder for now. + </para> + + </sect1> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index f2aadd48d43..706dbf4b12a 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -79,7 +79,7 @@ For new features, add links to the documentation sections. All the active branches have to be edited concurrently when doing that. --> -&release-12; +&release-13; <sect1 id="release-prior"> <title>Prior Releases</title> |