pg12 release notes

Started by Justin Pryzbyalmost 7 years ago41 messageshackers
Jump to latest
#1Justin Pryzby
pryzby@telsasoft.com

I noticed you added release notes at bdf595adbca195fa54a909c74a5233ebc30641a1,
thanks for writing them.

I reviewed notes; find proposed changes attached+included.

I think these should also be mentioned?

f7cb284 Add plan_cache_mode setting
a6da004 Add index_get_partition convenience function
387a5cf Add pg_dump --on-conflict-do-nothing option.
17f206f Set pg_class.relhassubclass for partitioned indexes

diff --git a/doc/src/sgml/release-12.sgml b/doc/src/sgml/release-12.sgml
index 88bdcbd..ab4d1b3 100644
--- a/doc/src/sgml/release-12.sgml
+++ b/doc/src/sgml/release-12.sgml
@@ -61,8 +61,8 @@ Remove the special behavior of OID columns (Andres Freund, John Naylor)
 <para>
 Previously, a normally-invisible OID column could be specified during table creation using WITH OIDS;  that ability has been removed. Columns can still be explicitly
-specified as type OID.  pg_dump and pg_upgrade operations on databases using WITH OIDS will need adjustment.  Many system tables now have an 'oid' column that will be
-expanded with SELECT * by default.
+specified as type OID.  pg_dump and pg_upgrade operations on databases using WITH OIDS will need adjustment.  The 'oid' column of many system tables will be
+shown by default with SELECT *.
 </para>
 </listitem>

@@ -115,7 +115,7 @@ Do not allow multiple different recovery_target* specifications (Peter Eisentrau
</para>

 <para>
-Previously multiple different recovery_target* variables could be specified, and last one specified was honored.  Now, only one can be specified, though the same one can
+Previously multiple different recovery_target* 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>
@@ -405,7 +405,7 @@ Author: Robert Haas <rhaas@postgresql.org>
 -->
 <para>
-Allow ATTACH PARTITION to be performed with reduced locking requirements (Robert Haas)
+ATTACH PARTITION is performed with lower locking requirement (Robert Haas)
 </para>
 </listitem>

@@ -617,7 +617,7 @@ Have new btree indexes sort duplicate index entries in heap-storage order (Peter
</para>

 <para>
-Btree indexes pg_upgraded from previous releases will not have this ordering.  This does slightly reduce the maximum length of indexed values.
+Btree indexes pg_upgraded from previous releases will not have this ordering.  This slightly reduces the maximum permitted length of indexed values.
 </para>
 </listitem>

@@ -676,7 +676,7 @@ Allow CREATE STATISTICS to create most-common-value statistics for multiple colu
</para>

 <para>
-This improve optimization for columns with non-uniform distributions that often appear in WHERE clauses.
+This improves query plans for columns with non-uniform distributions that often appear in WHERE clauses.
 </para>
 </listitem>

@@ -954,21 +954,6 @@ This dramatically speeds up processing of floating-point values. Users who wish

 <listitem>
 <!--
-Author: Amit Kapila <akapila@postgresql.org>
-2019-02-04 [b0eaa4c51] Avoid creation of the free space map for small heap rela
--->
-
-<para>
-Avoid creation of the free space map files for small table (John Naylor, Amit Kapila)
-</para>
-
-<para>
-Such files are not useful.
-</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>
@@ -1018,7 +1003,7 @@ Allow logging of only a percentage of statements and transactions meeting log_mi
 </para>
 <para>
-The parameters log_statement_sample_rate and log_transaction_sample_rate controls this.
+The parameters log_statement_sample_rate and log_transaction_sample_rate control this.
 </para>
 </listitem>
@@ -1231,7 +1216,7 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
 -->
 <para>
-Allow more comparisons with information_schema text columns use indexes (Tom Lane)
+Allow more comparisons with information_schema text columns to use indexes (Tom Lane)
 </para>
 </listitem>
@@ -1310,7 +1295,7 @@ Author: Thomas Munro <tmunro@postgresql.org>
 -->
 <para>
-Allow discovery of the LDAP server using DNS (Thomas Munro)
+Allow discovery of the LDAP server using DNS SRV records (Thomas Munro)
 </para>

<para>
@@ -1446,7 +1431,7 @@ Add wal_recycle and wal_init_zero server variables to avoid WAL file recycling (
</para>

 <para>
-This can be beneficial on copy-on-write file systems like ZFS.
+This can be beneficial on copy-on-write filesystems like ZFS.
 </para>
 </listitem>

@@ -1502,7 +1487,7 @@ Add server variable to control the type of shared memory to use (Andres Freund)
</para>

 <para>
-The variable is shared_memory_type.  It purpose is to allow selection of System V shared memory, if desired.
+The variable is shared_memory_type.  Its purpose is to allow selection of System V shared memory, if desired.
 </para>
 </listitem>

Attachments:

v1-0001-review-pg12-release-notes.patchtext/x-diff; charset=us-asciiDownload+11-26
#2Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Justin Pryzby (#1)
Re: pg12 release notes

On 2019-May-08, Justin Pryzby wrote:

I noticed you added release notes at bdf595adbca195fa54a909c74a5233ebc30641a1,
thanks for writing them.

I reviewed notes; find proposed changes attached+included.

I think these should also be mentioned?

a6da004 Add index_get_partition convenience function

I don't disagree with the other three you suggest, but this one is a C
function and I think it's below the level of usefulness that we publish
in relnotes.

--
�lvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

#3Thomas Munro
thomas.munro@gmail.com
In reply to: Justin Pryzby (#1)
Re: pg12 release notes

On Thu, May 9, 2019 at 8:32 AM Justin Pryzby <pryzby@telsasoft.com> wrote:

I noticed you added release notes at bdf595adbca195fa54a909c74a5233ebc30641a1,
thanks for writing them.

+1

I reviewed notes; find proposed changes attached+included.

+1 to all the corrections shown.

One more: "Allow parallel query when in SERIALIZABLE ISOLATION MODE
(Thomas Munro)"

Only SERIALIZABLE should be in all-caps IMHO.

--
Thomas Munro
https://enterprisedb.com

#4Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#1)
Re: pg12 release notes

On Wed, May 8, 2019 at 03:32:04PM -0500, Justin Pryzby wrote:

I noticed you added release notes at bdf595adbca195fa54a909c74a5233ebc30641a1,
thanks for writing them.

-This improve optimization for columns with non-uniform distributions that often appear in WHERE clauses.
+This improves query plans for columns with non-uniform distributions that often appear in WHERE clauses.

I think "query plans" is less clear.

-Author: Amit Kapila <akapila@postgresql.org>
-2019-02-04 [b0eaa4c51] Avoid creation of the free space map for small heap rela
--->
-
-<para>
-Avoid creation of the free space map files for small table (John Naylor, Amit Kapila)
-</para>
-
-<para>
-Such files are not useful.
-</para>
-</listitem>
-
-<listitem>
-<!--

Already removed.

-This can be beneficial on copy-on-write file systems like ZFS.
+This can be beneficial on copy-on-write filesystems like ZFS.

We usually spell it "file systems" in our docs.

I have made your other changes, with adjustment, patch attached.

The results are here:

http://momjian.us/pgsql_docs/release-12.html

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +

Attachments:

difftext/plain; charset=us-asciiDownload+10-10
#5Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#1)
Re: pg12 release notes

On Wed, May 8, 2019 at 03:32:04PM -0500, Justin Pryzby wrote:

I noticed you added release notes at bdf595adbca195fa54a909c74a5233ebc30641a1,
thanks for writing them.

I reviewed notes; find proposed changes attached+included.

I think these should also be mentioned?

f7cb284 Add plan_cache_mode setting
387a5cf Add pg_dump --on-conflict-do-nothing option.

I am confused how I missed these. There is only one commit between
them, and I suspect I deleted them by accident. I hope those are the
only ones.

a6da004 Add index_get_partition convenience function

A C function just isn't normally mentioned in the release notes.

17f206f Set pg_class.relhassubclass for partitioned indexes

I need help with this one. I know the system column existed in previous
releases, so how is it different now? Do we document system table
changes that are implementation-behavior in the release notes? Usually
we don't.

Applied patch attached, docs updated:

http://momjian.us/pgsql_docs/release-12.html

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +

Attachments:

difftext/plain; charset=us-asciiDownload+30-0
#6Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#4)
Re: pg12 release notes

On Thu, May 09, 2019 at 07:35:18PM -0400, Bruce Momjian wrote:

I have made your other changes, with adjustment, patch attached.

The results are here:

http://momjian.us/pgsql_docs/release-12.html

Thanks

-Many system tables now have an 'oid' column that will be expanded with
-SELECT * by default.
+The many system tables with such columns will now display those columns
+with SELECT * by default.

I think "The many" is hard to parse but YMMV.

Find attached additional changes from another pass I've made.

From 97ddf06bc9221153c52613b8c840409ee698bbad Mon Sep 17 00:00:00 2001
From: Justin Pryzby <pryzbyj@telsasoft.com>
Date: Thu, 9 May 2019 14:15:57 -0500
Subject: [PATCH v2 1/2] pg12 relnotes v2

---
doc/src/sgml/release-12.sgml | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/doc/src/sgml/release-12.sgml b/doc/src/sgml/release-12.sgml
index ab4d1b3..cc48960 100644
--- a/doc/src/sgml/release-12.sgml
+++ b/doc/src/sgml/release-12.sgml
@@ -127,7 +127,7 @@ Author: Peter Eisentraut <peter@eisentraut.org>
 -->
 <para>
-Cause recovery to recover to the latest timeline by default (Peter Eisentraut)
+Cause recovery to advance to the latest timeline by default (Peter Eisentraut)
 </para>
 <para>
@@ -205,7 +205,8 @@ Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
 -->
 <para>
-Require pg_restore to use "-f -" to output the dump contents to stdout (Euler Taveira)
+Require specification of "-f -" to cause pg_restore to write to stdout (Euler
+Taveira)
 </para>

<para>
@@ -1003,7 +1004,7 @@ Allow logging of only a percentage of statements and transactions meeting log_mi
</para>

 <para>
-The parameters log_statement_sample_rate and log_transaction_sample_rate control this.
+This is controlled by the new parameters log_statement_sample_rate and log_transaction_sample_rate.
 </para>
 </listitem>

@@ -1076,7 +1077,7 @@ Add tracking of global objects in system view pg_stat_database (Julien Rouhaud)
</para>

 <para>
-The system view row's datoid is reported as zero.
+The system wide objects are shown with a datoid of zero.
 </para>
 </listitem>
@@ -1132,7 +1133,8 @@ Author: Peter Eisentraut <peter@eisentraut.org>
 -->
 <para>
-Allow viewers of pg_stat_ssl to only see their own rows (Peter Eisentraut)
+Restrict visibility of rows in pg_stat_ssl by unprivileged users (Peter
+Eisentraut)
 </para>
 </listitem>
@@ -1216,7 +1218,8 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
 -->
 <para>
-Allow more comparisons with information_schema text columns to use indexes (Tom Lane)
+Allow use of indexes for more comparisons with text columns of
+information_schema (Tom Lane)
 </para>
 </listitem>
@@ -1280,7 +1283,8 @@ Author: Magnus Hagander <magnus@hagander.net>
 -->
 <para>
-Allow the clientcert pg_hba.conf option to check the database user name matches the certificate common name (Julian Markwort, Marius Timmer)
+Allow the clientcert pg_hba.conf option to check that the database user name
+matches the certificate common name (Julian Markwort, Marius Timmer)
 </para>

<para>

From f9d2ee1232090d9087f110d3299bdfae3ed2eab9 Mon Sep 17 00:00:00 2001
From: Justin Pryzby <pryzbyj@telsasoft.com>
Date: Thu, 9 May 2019 18:50:42 -0500
Subject: [PATCH v2 2/2] Add commas: "Previously,"

---
doc/src/sgml/release-12.sgml | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/doc/src/sgml/release-12.sgml b/doc/src/sgml/release-12.sgml
index cc48960..3f9893e 100644
--- a/doc/src/sgml/release-12.sgml
+++ b/doc/src/sgml/release-12.sgml
@@ -115,7 +115,7 @@ Do not allow multiple different recovery_target* specifications (Peter Eisentrau
 </para>
 <para>
-Previously multiple different recovery_target* variables could be specified, and the last one specified was honored.  Now, only one can be specified, though the same one can
+Previously, multiple different recovery_target* 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>
@@ -183,7 +183,7 @@ Change XML functions like xpath() to never pretty-print their output (Tom Lane)
 </para>
 <para>
-Previously this happened in some rare cases.  ACCURATE?  HOW TO GET PRETTY PRINT OUTPUT?
+Previously, this happened in some rare cases.  ACCURATE?  HOW TO GET PRETTY PRINT OUTPUT?
 </para>
 </listitem>

@@ -384,7 +384,7 @@ Allow partitions bounds to be any expression (Kyotaro Horiguchi, Tom Lane, Amit
</para>

 <para>
-Expressions are evaluated at table partitioned table creation time.  Previously only constants were allowed as partitions bounds.
+Expressions are evaluated at table partitioned table creation time.  Previously, only constants were allowed as partitions bounds.
 </para>
 </listitem>

@@ -515,7 +515,7 @@ Allow parallel query when in SERIALIZABLE ISOLATION MODE (Thomas Munro)
</para>

 <para>
-Previously parallelism was disabled when in this mode.
+Previously, parallelism was disabled when in this mode.
 </para>
 </listitem>

@@ -793,7 +793,7 @@ 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.
+Previously, the default collation was used for all statistics storage.  This potentially gives better optimizer behavior for columns with non-default collations.
 </para>
 </listitem>

@@ -1532,7 +1532,7 @@ Allow the streaming replication timeout to be set per connection (Tsunakawa Taka
</para>

 <para>
-Previously this could only be set cluster-wide.
+Previously, this could only be set cluster-wide.
 </para>
 </listitem>

@@ -1825,7 +1825,7 @@ Use all column names when creating default foreign key constraint names (Peter E
</para>

 <para>
-Previously only the first column name was used.
+Previously, only the first column name was used.
 </para>
 </listitem>

@@ -2329,7 +2329,7 @@ Allow control of log file rotation via pg_ctl (Kyotaro Horiguchi, Alexander Kuzm
</para>

 <para>
-Previously this was only possible via an SQL function or a process signal.
+Previously, this was only possible via an SQL function or a process signal.
 </para>
 </listitem>

@@ -2697,7 +2697,7 @@ Properly honor WITH CHECK OPTION on views that reference postgres_fdw tables (Et

 <para>
 While CHECK OPTIONs on postgres_fdw tables are ignored (because the reference is foreign), views on such tables are considered local, so this release enforces CHECK
-OPTIONs on them.  Previously only INSERTs and UPDATEs with RETURNING clauses that returned CHECK OPTION values were validated.
+OPTIONs on them.  Previously, only INSERTs and UPDATEs with RETURNING clauses that returned CHECK OPTION values were validated.
 </para>
 </listitem>

Attachments:

v2-0001-pg12-relnotes-v2.patchtext/x-diff; charset=us-asciiDownload+11-8
v2-0002-Add-commas-Previously.patchtext/x-diff; charset=us-asciiDownload+9-10
#7Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#5)
Re: pg12 release notes

On Thu, May 09, 2019 at 08:08:53PM -0400, Bruce Momjian wrote:

On Wed, May 8, 2019 at 03:32:04PM -0500, Justin Pryzby wrote:

I think these should also be mentioned?

f7cb284 Add plan_cache_mode setting
387a5cf Add pg_dump --on-conflict-do-nothing option.

Applied patch attached, docs updated:

Thanks, comments:

+Author: Peter Eisentraut <peter_e@gmx.net>
+2018-07-16 [f7cb2842b] Add plan_cache_mode setting
+-->
+
+<para>
+Allow contol over when generic plans are used for prepared statements (Pavel Stehule)

control

+<para>
+The server variable plan_cache_mode enables this control.

"This is controlled by the plan_cache_mode parameter".

Author: Tom Lane <tgl@sss.pgh.pa.us>
2018-12-30 [b5415e3c2] Support parameterized TidPaths.
Author: Tom Lane <tgl@sss.pgh.pa.us>
@@ -2456,6 +2471,21 @@ Add --exclude-database option to pg_dumpall (Andrew Dunstan)

<listitem>
<!--
+Author: Thomas Munro <tmunro@postgresql.org>
+2018-07-13 [387a5cfb9] Add pg_dump - -on-conflict-do-nothing option.
+-->
+
+<para>
+Allow restore of INSERT statements to skip rows which would cause conflicts (Surafel Temesgen)
+</para>

restore *using* INSERT statements ?
cause "unique index" conflicts ?

Justin

#8Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#7)
Re: pg12 release notes

On Thu, May 9, 2019 at 07:19:59PM -0500, Justin Pryzby wrote:

+Author: Thomas Munro <tmunro@postgresql.org>
+2018-07-13 [387a5cfb9] Add pg_dump - -on-conflict-do-nothing option.
+-->
+
+<para>
+Allow restore of INSERT statements to skip rows which would cause conflicts (Surafel Temesgen)
+</para>

restore *using* INSERT statements ?
cause "unique index" conflicts ?

I am not sure "unique index" helps since most people think of ON
CONFLICT and not its implementation.

Applied patch attached, URL updated:

http://momjian.us/pgsql_docs/build.html

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +

Attachments:

difftext/plain; charset=us-asciiDownload+3-3
#9Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#6)
Re: pg12 release notes

On Thu, May 9, 2019 at 07:13:35PM -0500, Justin Pryzby wrote:

On Thu, May 09, 2019 at 07:35:18PM -0400, Bruce Momjian wrote:

I have made your other changes, with adjustment, patch attached.

The results are here:

http://momjian.us/pgsql_docs/release-12.html

Thanks

These were all very helpful. I adjusted your changes to create the
attached applied patch. URL updated:

http://momjian.us/pgsql_docs/build.html

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ As you are, so once was I.  As I am, so you will be. +
+                      Ancient Roman grave inscription +

Attachments:

difftext/plain; charset=us-asciiDownload+15-15
#10Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#9)
Re: pg12 release notes

On Thu, May 09, 2019 at 09:02:51PM -0400, Bruce Momjian wrote:

These were all very helpful. I adjusted your changes to create the
attached applied patch. URL updated:

Thanks.

-Allow more comparisons with information_schema text columns to use indexes (Tom Lane)
+Allow more use of indexes for text columns comparisons with information_schema columns (Tom Lane)

I think "columns" should not be plural..but it could be better still:

|Allow use of indexes for more comparisons with text columns of information_schema (Tom Lane)

Regarding this proposed change of mine:
-Btree indexes pg_upgraded from previous releases will not have this ordering.  This slightly reduces the maximum length of indexed values.
+Btree indexes pg_upgraded from previous releases will not have this ordering.  This slightly reduces the maximum permitted length of indexed values.

I think "permitted" is important, since otherwise it sounds like maybe for
whatever values are being indexed, their maximum length is reduced by this
patch. If you overthink it, you could decide that maybe that's happening due
to use of prefix/suffix truncation or something ..

Should this one be listed twice ? I tried to tell if it was intentional but
couldn't decide..
249d64999 Add support TCP user timeout in libpq and the backend se

Justin

In reply to: Bruce Momjian (#9)
Re: pg12 release notes

On Thu, May 9, 2019 at 6:03 PM Bruce Momjian <bruce@momjian.us> wrote:

These were all very helpful. I adjusted your changes to create the
attached applied patch. URL updated:

I noticed that the compatibility note for Andrew Gierth's RYU floating
point patch seems to simply say why the feature is useful. Shouldn't
it be listed separately, and its impact on users upgrading be listed
here instead?

Separately, please find attached suggested changes for items I was
involved in. I have attempted to explain them in a way that makes
their relevance to users clearer. Even if you don't end up using my
wording, you should still change the attribution along the same lines
as the patch.

Also, I added a compatibility note for the new version of nbtree,
which revises the "1/3 of a page" restriction downwards very slightly
(by 8 bytes). FWIW, I think it's very unlikely that anyone will be
affected, because tuples that are that wide are already compressed in
almost all cases -- it seems like it would be hard to be just at the
edge of the limit already.

Thanks
--
Peter Geoghegan

Attachments:

0001-Suggested-changes-to-v12-release-notes.patchapplication/octet-stream; name=0001-Suggested-changes-to-v12-release-notes.patchDownload+57-24
#12David Rowley
dgrowleyml@gmail.com
In reply to: Bruce Momjian (#5)
Re: pg12 release notes

On Fri, 10 May 2019 at 12:08, Bruce Momjian <bruce@momjian.us> wrote:

17f206f Set pg_class.relhassubclass for partitioned indexes

I need help with this one. I know the system column existed in previous
releases, so how is it different now? Do we document system table
changes that are implementation-behavior in the release notes? Usually
we don't.

This appears to be fixing something that likely should have been done
in PG11, where partitioned indexes were added. Originally the column
was for inheritance parent tables, then later used for partitioned
tables. It seems partitioned indexes just overlooked setting it to
true in PG11 and this commit fixed that. Of course, backpacking that
fix wouldn't be very useful for partitioned indexes that were already
created, so it was a master only change.

--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

#13David Rowley
dgrowleyml@gmail.com
In reply to: Bruce Momjian (#9)
Re: pg12 release notes

On Fri, 10 May 2019 at 13:03, Bruce Momjian <bruce@momjian.us> wrote:

On Thu, May 9, 2019 at 07:13:35PM -0500, Justin Pryzby wrote:

On Thu, May 09, 2019 at 07:35:18PM -0400, Bruce Momjian wrote:

I have made your other changes, with adjustment, patch attached.

The results are here:

http://momjian.us/pgsql_docs/release-12.html

Hi Bruce,

Just a question about the item: "Allow IN comparisons with arrays to
use IS NOT NULL partial indexes more frequently (Tom Lane)"

From what I can tell this must refer to 65ce07e0202f. If so, I think
James Coleman should be the author.

--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

#14Tom Lane
tgl@sss.pgh.pa.us
In reply to: David Rowley (#13)
Re: pg12 release notes

David Rowley <david.rowley@2ndquadrant.com> writes:

Just a question about the item: "Allow IN comparisons with arrays to
use IS NOT NULL partial indexes more frequently (Tom Lane)"

From what I can tell this must refer to 65ce07e0202f.

You can tell for sure by looking into the SGML comments in
release-12.sgml:

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-02-20 [e04a3905e] Improve planner's understanding of strictness of type co
-->

<para>
Allow IS NOT NULL with mis-matching types to use partial indexes more frequently (Tom Lane)
</para>

If so, I think James Coleman should be the author.

... and yeah, James should get the credit. But there's more wrong with
the summary than that, because I don't think this was about mismatched
types particularly. The real motivation was to avoid failing to prove
the usability of WHERE-x-IS-NOT-NULL partial indexes for IN clauses with
more than 100 elements.

regards, tom lane

#15Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: David Rowley (#12)
Re: pg12 release notes

On 2019/05/10 12:18, David Rowley wrote:

On Fri, 10 May 2019 at 12:08, Bruce Momjian <bruce@momjian.us> wrote:

17f206f Set pg_class.relhassubclass for partitioned indexes

I need help with this one. I know the system column existed in previous
releases, so how is it different now? Do we document system table
changes that are implementation-behavior in the release notes? Usually
we don't.

This appears to be fixing something that likely should have been done
in PG11, where partitioned indexes were added.

That's true. We (Michael and I) felt the need to do this change, because
it allowed the pg_partition_tree() code (which is also new in v12) to use
the same infrastructure for both partitioned tables and indexes; checking
the relhassubclass flag allows to short-circuit scanning pg_inherits to
find out that there are no children.

Originally the column
was for inheritance parent tables, then later used for partitioned
tables. It seems partitioned indexes just overlooked setting it to
true in PG11 and this commit fixed that. Of course, backpacking that
fix wouldn't be very useful for partitioned indexes that were already
created, so it was a master only change.

There was no discussion on whether or not to back-patch this to v11, but
the above makes sense.

Regarding whether or not this commit needs a release note mention, I'm not
that sure but maybe we should if Justin thinks it's useful information.

Thanks,
Amit

#16David Rowley
dgrowleyml@gmail.com
In reply to: Tom Lane (#14)
Re: pg12 release notes

On Fri, 10 May 2019 at 15:45, Tom Lane <tgl@sss.pgh.pa.us> wrote:

<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
2019-02-20 [e04a3905e] Improve planner's understanding of strictness of type co
-->

<para>
Allow IS NOT NULL with mis-matching types to use partial indexes more frequently (Tom Lane)
</para>

If so, I think James Coleman should be the author.

... and yeah, James should get the credit. But there's more wrong with
the summary than that, because I don't think this was about mismatched
types particularly. The real motivation was to avoid failing to prove
the usability of WHERE-x-IS-NOT-NULL partial indexes for IN clauses with
more than 100 elements.

I think you might be mixing up two items. I'm talking about:

<para>
Allow IN comparisons with arrays to use <literal>IS NOT NULL</literal>
partial indexes more frequently (Tom Lane)
</para>

to which the sgml references 65ce07e02.

--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

#17Tom Lane
tgl@sss.pgh.pa.us
In reply to: David Rowley (#16)
Re: pg12 release notes

David Rowley <david.rowley@2ndquadrant.com> writes:

I think you might be mixing up two items. I'm talking about:

<para>
Allow IN comparisons with arrays to use <literal>IS NOT NULL</literal>
partial indexes more frequently (Tom Lane)
</para>

to which the sgml references 65ce07e02.

Wups, sorry, I was talking about 65ce07e02 also, but I managed to
copy-and-paste the wrong bit of release-12.sgml first :-(

regards, tom lane

#18Justin Pryzby
pryzby@telsasoft.com
In reply to: Bruce Momjian (#5)
Re: pg12 release notes

On Thu, May 09, 2019 at 08:08:53PM -0400, Bruce Momjian wrote:

On Wed, May 8, 2019 at 03:32:04PM -0500, Justin Pryzby wrote:

I noticed you added release notes at bdf595adbca195fa54a909c74a5233ebc30641a1,
thanks for writing them.

I reviewed notes; find proposed changes attached+included.

I think these should also be mentioned?

f7cb284 Add plan_cache_mode setting
387a5cf Add pg_dump --on-conflict-do-nothing option.

I am confused how I missed these. There is only one commit between
them, and I suspect I deleted them by accident. I hope those are the
only ones.

I'm rechecking my list from last month. What about these ?

c076f3d Remove pg_constraint.conincluding
bd09503 Increase the default vacuum_cost_limit from 200 to 2000

I don't think this one is needed but please check:

1a990b2
The API of the function BufFileSize() is changed by this commit, despite

Justin

#19Justin Pryzby
pryzby@telsasoft.com
In reply to: Amit Langote (#15)
Re: pg12 release notes

On Fri, May 10, 2019 at 12:45:54PM +0900, Amit Langote wrote:

On 2019/05/10 12:18, David Rowley wrote:

On Fri, 10 May 2019 at 12:08, Bruce Momjian <bruce@momjian.us> wrote:

17f206f Set pg_class.relhassubclass for partitioned indexes

I need help with this one. I know the system column existed in previous
releases, so how is it different now? Do we document system table
changes that are implementation-behavior in the release notes? Usually
we don't.

This appears to be fixing something that likely should have been done
in PG11, where partitioned indexes were added.

...

Originally the column
was for inheritance parent tables, then later used for partitioned
tables. It seems partitioned indexes just overlooked setting it to
true in PG11 and this commit fixed that. Of course, backpacking that
fix wouldn't be very useful for partitioned indexes that were already
created, so it was a master only change.

...

Regarding whether or not this commit needs a release note mention, I'm not
that sure but maybe we should if Justin thinks it's useful information.

I don't know for sure and I don't feel strongly either way.

Last month, I looked through the list of commits to master ([0]git log --oneline --cherry-pick origin/REL_11_STABLE...origin/master rather than
using pgsql/src/tools/git_changelog), and made a list of commits I thought
should probably be mentioned. I sent to Bruce, in case he could make use of
it, and just now triple checked that he'd included all the stuff I could see
was important. Added/changed/removed interfaces (programs, libraries, etc),
GUCs, catalogs were all on my list (which is what caused me to include
index_get_partition, which I agree shouldn't actually be in the relnotes).

Behavior changes should sometimes to be there too, but there's
internal/implementation changes which shouldn't.

Justin

[0]: git log --oneline --cherry-pick origin/REL_11_STABLE...origin/master

Show quoted text

On Fri, Apr 12, 2019 at 02:55:38AM -0500, Justin Pryzby wrote:

I was thinking of starting to create release notes ; is it reasonable and
helpful if I put together an initial, 0th order notes document ?

I just spent a good while identifying the interesting commits from
here...although I'm sure I've missed some.
git log --oneline --cherry-pick origin/REL_11_STABLE...origin/master

Highlights:
428b260 Speed up planning when partitions can be pruned at plan time.
f56f8f8 Support foreign keys that reference partitioned tables
7300a69 Add support for multivariate MCV lists
Progress reporting:
- 03f9e5c Report progress of REINDEX operations
- ab0dfc9 Report progress of CREATE INDEX operations
- 280e5f1 Add progress reporting to pg_checksums
- 6f97457 Add progress reporting for CLUSTER and VACUUM FULL.

Features:

\psql:
1c5d927 psql \dP: list partitioned tables and indexes
27f3dea psql: Add documentation URL to \help output
1af25ca Improve psql's \d display of foreign key constraints
d3a5fc1 Show table access methods as such in psql's \dA.

\GUCs:
799e220 Log all statements from a sample of transactions
88bdbd3 Add log_statement_sample_rate parameter
475861b Add wal_recycle and wal_init_zero GUCs.
f1bebef Add shared_memory_type GUC.
475861b Add wal_recycle and wal_init_zero GUCs.
f7cb284 Add plan_cache_mode setting
1a83a80 Allow fractional input values for integer GUCs, and improve rounding logic.

\Other:
119dcfa Add vacuum_truncate reloption.
7bac3ac Add a "SQLSTATE-only" error verbosity option to libpq and psql.
ea569d6 Add SETTINGS option to EXPLAIN, to print modified settings.
b0b39f7 GSSAPI encryption support
fc22b66 Generated columns
5dc92b8 REINDEX CONCURRENTLY
8edd0e7 Suppress Append and MergeAppend plan nodes that have a single child.
280a408 Transaction chaining
ed308d7 Add options to enable and disable checksums in pg_checksums
0f086f8 Add DNS SRV support for LDAP server discovery.
dd299df Make heap TID a tiebreaker nbtree index column.
=> and others
01bde4f Implement OR REPLACE option for CREATE AGGREGATE.
72b6460 Partial implementation of SQL/JSON path language
c6c9474 Use condition variables to wait for checkpoints.
f2e4038 Support for INCLUDE attributes in GiST indexes
6b9e875 Track block level checksum failures in pg_stat_database
898e5e3 Allow ATTACH PARTITION with only ShareUpdateExclusiveLock.
7e413a0 pg_dump: allow multiple rows per insert
8586bf7 tableam: introduce table AM infrastructure.
ac88d29 Avoid creation of the free space map for small heap relations.
31f3817 Allow COPY FROM to filter data using WHERE conditions
6260cc5 pgbench: add \cset and \gset commands
ca41030 Fix tablespace handling for partitioned tables
aa2ba50 Add CSV table output mode in psql.
2dedf4d Integrate recovery.conf into postgresql.conf
578b229 Remove WITH OIDS support, change oid catalog column visibility.
9ccdd7f PANIC on fsync() failure.
803b130 Add option SKIP_LOCKED to VACUUM and ANALYZE
ec74369 Implement "pg_ctl logrotate" command

Interfaces:
b96f6b1 pg_partition_ancestors
a6da004 Add index_get_partition convenience function
f1d85aa Add support for hyperbolic functions, as well as log10().
3677a0b Add pg_partition_root to display top-most parent of a partition tree
d5eec4e Add pg_partition_tree to display information about partitions
1007465 Add pg_promote function
c481016 Add pg_ls_archive_statusdir function
9cd92d1 Add pg_ls_tmpdir function

2970afa Add PQresultMemorySize function to report allocated size of a PGresult.

00d1e88 Add --min-xid-age and --min-mxid-age options to vacuumdb
354e95d Add --disable-page-skipping and --skip-locked to vacuumdb
2d34ad8 Add a --socketdir option to pg_upgrade.
387a5cf Add pg_dump --on-conflict-do-nothing option.
8a00b96 Add pg_rewind --no-sync
e0090c8 Add option -N/--no-sync to pg_checksums
f092de0 Add --exclude-database option to pg_dumpall

17f206f Set pg_class.relhassubclass for partitioned indexes
f94cec6 Include partitioned indexes to system view pg_indexes
b13a913 Add BKI_DEFAULT to pg_class.relrewrite

7fee252 Add timestamp of last received message from standby to pg_stat_replication
f60a0e9 Add more columns to pg_stat_ssl
43cbeda Extend pg_stat_statements_reset to reset statistics specific to a particular user/db/query.

grep for pg_ Add|remove|move|Compat|Break|Release|pq|--|\
API pg_
\.c \.h
v1

Compat:
6dd263c Rename pg_verify_checksums to pg_checksums
342cb65 Don't log incomplete startup packet if it's empty
6ae578a Set fallback_application_name for a walreceiver to cluster_name
689d15e Log PostgreSQL version number on startup
XXX 478cacb Ensure consistent name matching behavior in processSQLNamePattern().
bcbd940 Remove dynamic_shared_memory_type=none
cda6a8d Remove deprecated abstime, reltime, tinterval datatypes.
2d10def Remove timetravel extension.
96b00c4 Remove obsolete pg_constraint.consrc column
fe50382 Remove obsolete pg_attrdef.adsrc column
c076f3d Remove pg_constraint.conincluding
dd299df
The maximum allowed size of new tuples is reduced by an amount equal to
the space required to store an extra MAXALIGN()'d TID in a new high key
during leaf page splits. The user-facing definition of the "1/3 of a
page" restriction is already imprecise, and so does not need to be
revised. However, there should be a compatibility note in the v12
release notes.
1a990b2
The API of the function BufFileSize() is changed by this commit, despite
cbccac3 Reduce the default value of autovacuum_vacuum_cost_delay to 2ms.
bd09503 Increase the default vacuum_cost_limit from 200 to 2000
413ccaa pg_restore: Require "-f -" to mean stdout

Perform:
fe28069 Scan GiST indexes in physical order during VACUUM.
c24dcd0 Use pg_pread() and pg_pwrite() for data files and WAL.
0d5f05c Allow multi-inserts during COPY into a partitioned table
959d00e Use Append rather than MergeAppend for scanning ordered partitions.
bbb96c3 Allow ALTER TABLE .. SET NOT NULL to skip provably unnecessary scans.
3c59263 Avoid some table rewrites for ALTER TABLE .. SET DATA TYPE timestamp.
3a769d8 pg_upgrade: Allow use of file cloning
bb16aba Enable parallel query with SERIALIZABLE isolation.
2a63683 Add support for nearest-neighbor (KNN) searches to SP-GiST

Source:
d9dd406 Require C99 (and thus MSCV 2013 upwards).

Bugs:
036f7d3 Avoid counting transaction stats for parallel worker cooperating transaction.
? 251cf2e Fix minor deficiencies in XMLTABLE, xpath(), xmlexists()

#20David Rowley
dgrowleyml@gmail.com
In reply to: Justin Pryzby (#18)
Re: pg12 release notes

On Fri, 10 May 2019 at 16:52, Justin Pryzby <pryzby@telsasoft.com> wrote:

I'm rechecking my list from last month. What about these ?

c076f3d Remove pg_constraint.conincluding
bd09503 Increase the default vacuum_cost_limit from 200 to 2000

bd09503 was reverted in 52985e4fea7 and replaced by cbccac371, which
is documented already by:

<para>
Reduce the default value of
<varname>autovacuum_vacuum_cost_delay</varname> to 2ms (Tom Lane)
</para>

--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

#21David Rowley
dgrowleyml@gmail.com
In reply to: Justin Pryzby (#19)
#22Amit Langote
Langote_Amit_f8@lab.ntt.co.jp
In reply to: David Rowley (#21)
#23Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Amit Langote (#15)
#24Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#23)
#25Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#10)
#26Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#11)
#27Bruce Momjian
bruce@momjian.us
In reply to: David Rowley (#13)
In reply to: Bruce Momjian (#26)
#29Andrew Gierth
andrew@tao11.riddles.org.uk
In reply to: Bruce Momjian (#26)
#30Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#28)
In reply to: Bruce Momjian (#30)
#32Bruce Momjian
bruce@momjian.us
In reply to: Andrew Gierth (#29)
#33Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#31)
#34Bruce Momjian
bruce@momjian.us
In reply to: Bruce Momjian (#33)
In reply to: Bruce Momjian (#34)
#36Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#35)
In reply to: Bruce Momjian (#36)
#38Bruce Momjian
bruce@momjian.us
In reply to: Peter Geoghegan (#37)
#39Justin Pryzby
pryzby@telsasoft.com
In reply to: David Rowley (#20)
#40Michael Paquier
michael@paquier.xyz
In reply to: Justin Pryzby (#39)
#41Bruce Momjian
bruce@momjian.us
In reply to: Justin Pryzby (#39)