Re: making EXPLAIN extensible
Andrei Lepikhov <lepihov@gmail.com>
From: Andrei Lepikhov <lepihov@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-04T15:26:49Z
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 4/3/2025 16:14, Robert Haas wrote: > On Tue, Mar 4, 2025 at 10:12 AM Andrei Lepikhov <lepihov@gmail.com> wrote: >> Also, I think this feature is quite close to the discussion on the >> possibility of adding an extensible list field into Query, PlanState, >> Plan, etc. nodes to let extensions gather and transfer some additional >> data starting with the first 'analyze' hook up to the end of execution. >> For example, in solving user issues, I frequently need to know >> predictions on the number of groups in Memoize, IncrementalSort and some >> other nodes. Such extensibility could allow an extension to gather such >> internal data during the planning stage and show it in the explain >> without any changes in the core! > > If you're saying there's a -hackers discussion on this, could you > provide a link? I haven't seen it. > 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. [1] https://www.postgresql.org/message-id/30113d59-8678-49ca-a8fb-bbceacf7efb0%40gmail.com [2] https://www.postgresql.org/message-id/CA%2BTgmoYXgBVCnFhrW3X1NxpdjWtJCYRKP38PQ-AdR-RJziTBUQ%40mail.gmail.com -- regards, Andrei Lepikhov