Re: making EXPLAIN extensible - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: making EXPLAIN extensible
Date
Msg-id 5bbca514250c1f8ee45f08ada94184b0ae109fe9.camel@j-davis.com
Whole thread Raw
In response to Re: making EXPLAIN extensible  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: making EXPLAIN extensible
List pgsql-hackers
+1 to the general idea, I didn't look at the patches yet.

On Fri, 2025-02-28 at 15:32 -0500, Robert Haas wrote:
> 1. It is much more verbose. I theorize that people will be unhappy
> about having to type EXPLAIN (pg_overexplain.range_table) rather than
> just EXPLAIN (range_table).

That was my first reaction.

> That's true. Of course, a lot depends on whether we end up with 3 or
> 5
> or 8 EXPLAIN extensions or more like 30 or 50 or 80. In the former
> case, the people writing those extensions will probably mostly know
> about each other and can just use different names.

I don't expect there to be zillions of extensions that only add new and
exciting explain options. Instead, it seems more likely that all
TableAM and CustomScan extensions will have 1-3 new explain options,
and that some of those might collide. For example, several may have a
EXPLAIN(PUSHDOWN) option that explains what work is being pushed down
into the TableAM/CustomScan.

In that case it's not even clear to me that a collision is a problem.
Would you really only want pushdown information from extension A, and
be upset that it also emits pushdown information from extension B?
Maybe we should just allow multiple extensions to use the same option
name?

Regards,
    Jeff Davis






pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: bogus error message for ALTER TABLE ALTER CONSTRAINT
Next
From: Tomas Vondra
Date:
Subject: Re: scalability bottlenecks with (many) partitions (and more)