Re: [PATCH] auto_explain: preserve per-query sampling decisions (#19877)

From: Lukas Fittl <lukas(at)fittl(dot)com>
To: Hristos Nenkov <nenkov2004(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, idrissaajalloh(at)gmail(dot)com
Subject: Re: [PATCH] auto_explain: preserve per-query sampling decisions (#19877)
Date: 2026-11-14 20:50:41
Message-ID: CAP53PkzZTpBwd5Um8UMw=vs+HV8enCZ5tsbk+MxBjuDk0FobzA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Sat, Nov 14, 2026 at 10:49 AM Hristos Nenkov <nenkov2004(at)gmail(dot)com> wrote:
> I reproduced #19877 and attached a candidate fix for review.
>
> auto_explain currently checks its backend-global sampling flag again at
> ExecutorEnd. A statement executed while a cursor remains open can replace
> that flag, so a sampled cursor loses its plan. With pg_stat_statements
> requesting instrumentation, the reverse also happens: an unsampled cursor
> can be logged after another statement enables sampling.
>
> The patch records selection and nesting depth in auto_explain's own
> QueryDesc extension state, following the existing pg_stat_statements
> pattern. ExecutorEnd uses that state rather than the latest global flag.
> It also adds cursor tests for explicit CLOSE and implicit COMMIT, with
> pg_stat_statements preloaded.

I think the patch approach could be workable - but is this really a
problem in practice?

We've gotten a lot of bug reports recently that fit the category of
"LLM found an edge case and reported it", and when I saw this one
first I did not think this was a real world problem.

Adding more code carries maintenance cost, and I think it should be
justified by an actual end user report running into this problem.

Have you seen this problem yourself in practice?

Thanks,
Lukas

--
Lukas Fittl

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Joao Rito 2026-11-14 21:33:30 Re: CREATE SCHEMA still resolves unqualified type names in pg_temp
Previous Message Greg Burd 2026-11-14 20:35:52 Re: Hash index: stop registering pin-only bucket pages in WAL (remove REGBUF_NO_CHANGE)