Re: PG 14 release notes, first draft - Mailing list pgsql-hackers

From Amit Langote
Subject Re: PG 14 release notes, first draft
Date
Msg-id CA+HiwqHKiiCGpiOZ6x3_GPeh5p0pZYk3UKaRy=hgcdgc4jMXOg@mail.gmail.com
Whole thread Raw
In response to Re: PG 14 release notes, first draft  (Bruce Momjian <bruce@momjian.us>)
Responses Re: PG 14 release notes, first draft
List pgsql-hackers
On Thu, May 13, 2021 at 2:39 AM Bruce Momjian <bruce@momjian.us> wrote:
> On Tue, May 11, 2021 at 11:57:10AM +0900, Amit Langote wrote:
> > On Mon, May 10, 2021 at 11:40 PM Justin Pryzby <pryzby@telsasoft.com> wrote:
> > > 86dc90056d Rework planning and execution of UPDATE and DELETE.
> > > a1115fa078 Postpone some more stuff out of ExecInitModifyTable.
> > > c5b7ba4e67 Postpone some stuff out of ExecInitModifyTable.
> >
> > I was just about to ask Bruce what he thinks about these.
> >
> > To clarify, the first one is a big refactoring commit that allowed us
> > to get rid of inheritance_planner(), a fairly inefficient way of
> > planning updates/deletes on partitioned tables, especially when many
> > partitions remain after pruning (or when pruning cannot be used).  One
> > may see the performance of update/deletes, especially on partitioned
> > tables, to be generally improved as a result of this commit, but maybe
> > not as significantly as to be mentioned in E.1.3.1.1. Partitioning or
> > even E.1.3.1.4. General Performance.  However, one user-visible
> > feature that came out of this work is that updates/deletes can now use
> > run-time pruning whereas they couldn't before.  Maybe that ought to be
> > mentioned.  (This reminds me to send a patch to remove the note from
> > 5.11.4. Partition Pruning that says that runtime pruning cannot be
> > used for update/delete).
> >
> > The other two commits can lead to improved performance of
> > update/deletes when there are many unpruned partitions in the plan,
> > but runtime pruning (a new feature as mentioned above) leads to only
> > one or few partitions to actually be updated/deleted from.  I admit
> > though that the cases for which performance has been improved still
> > under-perform the cases that already performed better starting in v12,
> > that is, the cases where the planner itself is able to trim down the
> > plan to contain one or few partitions, so maybe nothing very big to
> > see here just yet.  You may want to take a look at the benchmark
> > results I had posted here:
> > https://www.postgresql.org/message-id/CA%2BHiwqEcawatEaUh1uTbZMEZTJeLzbroRTz9_X9Z5CFjTWJkhw%40mail.gmail.com
>
> OK, I added this entry:

Thank you.

>         <listitem>
>         <!--
>         Author: Tom Lane <tgl@sss.pgh.pa.us>
>         2021-03-31 [86dc90056] Rework planning and execution of UPDATE and DELETE.
>         Author: Tom Lane <tgl@sss.pgh.pa.us>
>         2021-04-06 [a1115fa07] Postpone some more stuff out of ExecInitModifyTable.
>         Author: Tom Lane <tgl@sss.pgh.pa.us>
>         2021-04-06 [c5b7ba4e6] Postpone some stuff out of ExecInitModifyTable.
>         -->
>
>         <para>
>         Improve the performance of updates/deletes on partitioned tables
>         when only a few partitions are affected (Amit Langote, Tom Lane)
>         </para>
>
>         <para>
>         This also allows run-time pruning of updates/deletes on partitioned
>         tables.
>         </para>
>         </listitem>

How about writing the 2nd line instead as:

Updates/deletes on partitioned tables can now use execution-time
partition pruning.

We don't seem to use the term "run-time pruning" anywhere else in the
documentation, and "pruning of updates/deletes" sounds strange.

--
Amit Langote
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: compute_query_id and pg_stat_statements
Next
From: Amit Kapila
Date:
Subject: Re: Replication slot stats misgivings