postgres.git / summary / log / commit / refs

commit    121d774caea4c93c8b36fb20a17ef774e60894d6
Author:   David Rowley <drowley@postgresql.org>
Date:     Wed Apr 02 01:02:44 2025 +0000
First released in: 18.0, 13.21, 14.18, 15.13, 16.9, 17.5

    Doc: add information about partition locking
    
    The documentation around locking of partitions for the executor startup
    phase of run-time partition pruning wasn't clear about which partitions
    were being locked.  Fix that.
    
    Reviewed-by: Tender Wang <tndrwang@gmail.com>
    Discussion: https://postgr.es/m/CAApHDvp738G75HfkKcfXaf3a8s%3D6mmtOLh46tMD0D2hAo1UCzA%40mail.gmail.com
    Backpatch-through: 13


doc/src/sgml/ddl.sgml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index cdb1a07e9d3..d2082b7e88e 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -5075,7 +5075,13 @@ EXPLAIN SELECT count(*) FROM measurement WHERE logdate &gt;= DATE '2008-01-01'; It is possible to determine the number of partitions which were removed during this phase by observing the <quote>Subplans Removed</quote> property in the - <command>EXPLAIN</command> output. + <command>EXPLAIN</command> output. The query planner obtains locks for + all partitions which are part of the plan. However, when the executor + uses a cached plan, locks are only obtained on the partitions which + remain after partition pruning done during the initialization phase of + execution, i.e., the ones shown in the <command>EXPLAIN</command> + output and not the ones referred to by the + <quote>Subplans Removed</quote> property. </para> </listitem> [parent: b3219c69fc1e]