Re: pg12 release notes - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: pg12 release notes
Date
Msg-id 20190511010241.gb4tbrjtvnfuqgyy@momjian.us
Whole thread Raw
In response to Re: pg12 release notes  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: pg12 release notes
Re: pg12 release notes
List 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@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?

The text is now in the incompatibility section:

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

    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@bowt.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>
> - LOOKUP, INDEX CLEANUP IMPROVEMENTS?
> + 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
    Geoghegan)
    
    The new code improves the space-efficiency of page splits, reduces
    locking
    overhead, and gives better performance for <command>UPDATE</command>s
    and <command>DELETE</command>s on indexes with many duplicates.

> +<para>
> + 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
lengthof indexed values.
 
> -</para>
> -</listitem>

See above.

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



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Bug in reindexdb's error reporting
Next
From: Bruce Momjian
Date:
Subject: Re: pg12 release notes