Doc: add information about partition locking
authorDavid Rowley <drowley@postgresql.org>
Wed, 2 Apr 2025 01:02:44 +0000 (14:02 +1300)
committerDavid Rowley <drowley@postgresql.org>
Wed, 2 Apr 2025 01:02:44 +0000 (14:02 +1300)
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

index cdb1a07e9d3bf6ef0167cb4a9fbac99081c2f4c7..d2082b7e88ec78747dd5fedf09ab010b9e4d289f 100644 (file)
@@ -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>