Re: making EXPLAIN extensible
zengman <zengman@halodbtech.com>
From: Man Zeng <zengman@halodbtech.com>
To: pgsql-hackers@lists.postgresql.org
Cc: Robert Haas <robertmhaas@gmail.com>
Date: 2025-03-28T04:12:17Z
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
I tried it out and felt good about this feature.
But I found that the following information is not very complete.
postgres=# select * from pg_get_loaded_modules();
module_name | version | file_name
--------------+---------+-------------------
| | pg_overexplain.so
auto_explain | 18devel | auto_explain.so
plpgsql | 18devel | plpgsql.so
(3 rows)
Some minor changes may be needed.
// PG_MODULE_MAGIC;
PG_MODULE_MAGIC_EXT(
.name = "pg_overexplain",
.version = PG_VERSION
);