Re: making EXPLAIN extensible
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Andrei Lepikhov <lepihov@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-04T16:18:53Z
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 →
-
pg_overexplain: Use PG_MODULE_MAGIC_EXT.
- 83ccc85859f3 18.0 landed
-
pg_overexplain: Call previous hooks as appropriate.
- 9f0c36aea0fb 18.0 landed
-
pg_overexplain: Additional EXPLAIN options for debugging.
- 8d5ceb113e3f 18.0 landed
-
Add an additional hook for EXPLAIN option validation.
- 50ba65e73325 18.0 landed
-
Add some new hooks so extensions can add details to EXPLAIN.
- 4fd02bf7cf94 18.0 landed
-
Make it possible for loadable modules to add EXPLAIN options.
- c65bc2e1d14a 18.0 landed
On Tue, Mar 4, 2025 at 10:26 AM Andrei Lepikhov <lepihov@gmail.com> wrote: > I wouldn't say there is a thread in the mailing list. I mentioned this > direction of extensibility multiple times (for example, [1,2]) with no > reaction. However, letting extensions show data in explan gives this > idea additional impulse. I agree that it's worth considering. I'd like to get this patch set committed first, because I feel like it's already good enough to let people do a bunch of cool stuff, and then we can build on top of it later to let people do even more cool stuff. I do have some ideas that involve piping plan-time data through to the final plan so that it can be made visible via EXPLAIN. However, I think there are several challenging design questions that need to be figured out, including: (1) exactly how do we pipe that plan-time data through to the final plan? (2) how should the plan-time hooks be designed to let people do as many interesting things as possible with as few hooks as possible? It sounds like you might already have some ideas about how those questions should be answered, but I haven't thought about it enough yet to feel confident and I don't want to make those decisions now. Let's keep this thread focused on these patches, and we can look at what else to do once that's done. -- Robert Haas EDB: http://www.enterprisedb.com