Re: making EXPLAIN extensible

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andrei Lepikhov <lepihov@gmail.com>, Jeff Davis <pgsql@j-davis.com>, Thom Brown <thom@linux.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-18T18:46:16Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. pg_overexplain: Use PG_MODULE_MAGIC_EXT.

  2. pg_overexplain: Call previous hooks as appropriate.

  3. pg_overexplain: Additional EXPLAIN options for debugging.

  4. Add an additional hook for EXPLAIN option validation.

  5. Add some new hooks so extensions can add details to EXPLAIN.

  6. Make it possible for loadable modules to add EXPLAIN options.

On Tue, Mar 18, 2025 at 2:40 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> FWIW, I am fairly strongly against that.  Every extension author is
> going to feel that their information is so important it should come
> first.  Other people might have a different opinion about that, and
> in any case they can't all be first.

Yep.

> There's certainly room for bikeshedding here, but I think it'd be good
> to get some actual experience before redesigning what you've done.

I think so, too, although obviously I'm biased.

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