Re: BUG #19692: Generic partition-pruning plan delays statement_timeout cancellation

From: David Rowley <dgrowleyml(at)gmail(dot)com>
To: imchifan(at)163(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #19692: Generic partition-pruning plan delays statement_timeout cancellation
Date: 2026-09-18 03:58:02
Message-ID: CAApHDvpjDe2x+i0ineTAP959m=SwCCnF92svh9sQAO6TPvuSbg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, 17 Sept 2026 at 22:23, PG Bug reporting form
<noreply(at)postgresql(dot)org> wrote:
> Generating a fresh generic plan for a range-partitioned table with 18
> partition keys and two parameterized lower-bound clauses per key delays
> statement_timeout cancellation. With statement_timeout set to 50 ms,
> cancellation was not reported until 315–346 ms after the statement began.
> The issue is localized to planning, and the backend remains healthy
> afterward.

There is nothing specifically slow about generating steps for a
partitioned table with exactly 18 partition keys. The point of
interest here is that the step generation can take a long time when
there are many partition keys and the query is complex.

I've pushed a patch that adds a CHECK_FOR_INTERRUPTS() in
get_steps_using_prefix_recurse().

David.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2026-09-18 07:00:05 BUG #19696: DISTINCT ON with a target-list set-returning function causes a 1000-fold selectivity underestimate
Previous Message Tom Lane 2026-09-18 02:07:26 Re: BUG #19545: Integer truncation of `GinTuple.keylen` causes out-of-bounds read in parallel GIN index build