Re: Showing primitive index scan count in EXPLAIN ANALYZE (for skip scan and SAOP scans)

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Showing primitive index scan count in EXPLAIN ANALYZE (for skip scan and SAOP scans)
Date: 2025-03-06 19:12:40
Message-ID: CA+Tgmobh8Tz13sB3gEx85JP0tR0=yQKSd7mwb1hoqk+maXwfcw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 6, 2025 at 1:58 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> On Thu, Mar 6, 2025 at 1:54 PM Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> > Hmm, it seems weird that you can't get a hold of that structure to me.
> > Why can't you just go find it in the DSM?
>
> Sorry, I was unclear.
>
> One reason is that there isn't necessarily anything to find.
> Certainly, when I try this out with a debugger, even the B-Tree scan
> doesn't have doesn't even have IndexScanDescData.parallel_scan set. It
> isn't actually a parallel B-Tree scan. It is a
> serial/non-parallel-aware index scan that is run from a parallel
> worker, and feeds its output into a gather merge node despite all
> this.

Well, I think this calls the basic design into question. We discussed
putting this into IndexScanDescData as a convenient way of piping it
through to EXPLAIN, but what I think we have now discovered is that
there isn't actually convenient at all, because every process has its
own IndexScanDescData and the leader sees only its own. It seems like
what you need is to have each process accumulate stats locally, and
then at the end total them up. Maybe show_sort_info() has some useful
precedent, since that's also a bit of node-specific instrumentation,
and it seems to know what to do about workers.

--
Robert Haas
EDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2025-03-06 19:13:40 Re: what's going on with lapwing?
Previous Message Andres Freund 2025-03-06 19:10:47 Re: Log connection establishment timings