Re: making EXPLAIN extensible

Pavel Luzanov <p.luzanov@postgrespro.ru>

From: Pavel Luzanov <p.luzanov@postgrespro.ru>
To: pgsql-hackers@lists.postgresql.org
Date: 2025-03-28T09:39:31Z
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.

One more suggestion to improve the documentation.
It lacks installations actions, something like in auto_explain:

To use pg_overexplain, simply load it into the server.
You can load it into an individual session:

LOAD 'pg_overexplain';

(You must be superuser to do that.)
Another way is to preload it into some or all sessions
by including pg_overexplain in session_preload_libraries
or shared_preload_libraries in postgresql.conf.

-- 
Pavel Luzanov
Postgres Professional:https://postgrespro.com