Re: pg12 release notes

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg12 release notes
Date: 2019-05-11 01:02:41
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, May 9, 2019 at 07:10:43PM -0700, Peter Geoghegan wrote:
> On Thu, May 9, 2019 at 6:03 PM Bruce Momjian <bruce(at)momjian(dot)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?

The text is now in the incompatibility section:

Avoid performing unnecessary rounding of REAL and DOUBLE PRECISION
values (Andrew Gierth)

This dramatically speeds up processing of floating-point values, though
trailing digits are display slightly differently. Users who wish to have
output that is rounded can set extra_float_digits=0.

Do I need more?

> 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.

I have that:

Have new btree indexes sort duplicate index entries in heap-storage
order (Peter Geoghegan)

This slightly reduces the maximum-allowed length of indexed values.
Indexes pg_upgraded from previous releases will not have this ordering.

I don't think more details are really needed.

> +</listitem>
> +
> +<listitem>
> +<!--
> +Author: Peter Geoghegan <pg(at)bowt(dot)ie>
> +2019-03-20 [dd299df8] Make heap TID a tiebreaker nbtree index column.
> +-->
> +
> +<para>
> + Lower the limit on the size of new B-tree index tuples by 8 bytes
> + (Peter Geoghegan)
> +</para>
> +
> +<para>
> + The definition of the "1/3 of a page" restriction on new B-tree
> + entries has been revised to account for the possible overhead of
> + storing table TIDs in branch page keys. Indexes in databases that
> + are migrated using pg_upgrade are not affected, unless and until
> + they are reindexed.
> +</para>
> </listitem>

See above, already mentioned.

> -Improve speed of btree index insertions (Alexander Korotkov, Peter Geoghegan)
> + Don't re-lock B-Tree leaf pages while inserting a new entry (Alexander Korotkov)

What we have already seems like enough detail:

Improve speed of btree index insertions (Alexander Korotkov,
Peter Geoghegan)

Locking speed seems like an implementation detail.

> +<para>
> + Make B-tree index keys unique by treating table TID as a tiebreaker
> + column internally (Peter Geoghegan, Heikki Linnakangas)
> </para>
> <para>
> + The new approach has more predictable performance characteristics
> + with indexes that have many duplicate entries, particularly when
> + there are <command>DELETE</command>s or <command>UPDATE</command>s
> + that affect a large number of contiguous table rows.

You have given me very good detail, so the new text is:

Improve speed of btree index insertions (Alexander Korotkov, Peter

The new code improves the space-efficiency of page splits, reduces
overhead, and gives better performance for <command>UPDATE</command>s
and <command>DELETE</command>s on indexes with many duplicates.

> +<para>
> + Make more sophisticated decisions about where to split B-tree pages
> + (Peter Geoghegan)
> +</para>
> +
> +<para>
> + The algorithm for choosing B-tree split points now considers the
> + overall pattern of how new entries are inserted, which can result in
> + more free space being available where it is likely to be needed.
> </para>
> </listitem>

See above.

> -<para>
> -Have new btree indexes sort duplicate index entries in heap-storage order (Peter Geoghegan)
> -</para>
> -
> -<para>
> -Btree indexes pg_upgraded from previous releases will not have this ordering. This slightly reduces the maximum length of indexed values.
> -</para>
> -</listitem>

See above.

Bruce Momjian <bruce(at)momjian(dot)us>

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

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2019-05-11 01:06:52 Re: pg12 release notes
Previous Message Michael Paquier 2019-05-11 00:42:00 Re: Bug in reindexdb's error reporting