Re: Add mention in docs about locking all partitions for generic plans - Mailing list pgsql-hackers

From Tender Wang
Subject Re: Add mention in docs about locking all partitions for generic plans
Date
Msg-id CAHewXN=BbBCcyxPNBrQsF_Sz+i3n2jPf18rGJQwbbz18yD0J6A@mail.gmail.com
Whole thread Raw
In response to Add mention in docs about locking all partitions for generic plans  (David Rowley <dgrowleyml@gmail.com>)
Responses Re: Add mention in docs about locking all partitions for generic plans
List pgsql-hackers


David Rowley <dgrowleyml@gmail.com> 于2025年3月24日周一 05:28写道:
Over in [1], there was some uncertainty about whether locking an
unrelated partition was expected behaviour or not for the particular
use-case which used a generic plan to scan a partitioned table and all
of the partitions.

I noticed that we don't mention this in the docs and though that
perhaps we should. I thought a good place might be in [2] at the end
of the following paragraph:

"During initialization of the query plan. Partition pruning can be
performed here for parameter values which are known during the
initialization phase of execution. Partitions which are pruned during
this stage will not show up in the query's EXPLAIN or EXPLAIN ANALYZE.
It is possible to determine the number of partitions which were
removed during this phase by observing the “Subplans Removed” property
in the EXPLAIN output."

Perhaps adding something like "Because all relations which are part of
the plan are locked at the beginning of execution, any partitions
pruned at this stage are already locked and will remain so until the
end of the transaction.".

or:

"It's important to note that any partitions removed by the partition
pruning done at this stage are still locked at the beginning of
execution".

I prefer this.
 

This is no longer true in master, so if we do something here it's only
v17 and earlier.
 
In the case of [1], we still have AccessShareLock on entity_2, even though it is pruned during initial partition pruning.
This seems to contradict what you said.  "This is no longer true in master" .  




--
Thanks,
Tender Wang

pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Query ID Calculation Fix for DISTINCT / ORDER BY and LIMIT / OFFSET
Next
From: Michael Paquier
Date:
Subject: Re: Query ID Calculation Fix for DISTINCT / ORDER BY and LIMIT / OFFSET