Re: RFC: Logging plan of the running query
torikoshia <torikoshia@oss.nttdata.com>
From: torikoshia <torikoshia@oss.nttdata.com>
To: pgsql-hackers@lists.postgresql.org, robertmhaas@gmail.com
Cc: Atsushi Torikoshi <torikoshia.tech@gmail.com>, samimseih@gmail.com,
destrex271@gmail.com
Date: 2025-05-20T13:17:59Z
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 →
-
ecpg: Catch zero-length Unicode identifiers correctly
- a18b6d2dc288 15.0 cited
-
Improve warning message in pg_signal_backend()
- 7fa945b857cc 15.0 cited
-
Add assert to ensure that page locks don't participate in deadlock cycle.
- 72e78d831ab5 13.0 cited
Attachments
- v45-0001-Add-function-to-log-the-plan-of-the-currently-ru.patch (text/x-diff) patch v45-0001
On Sat, Apr 5, 2025 at 3:14 PM Atsushi Torikoshi <torikoshia.tech@gmail.com> wrote: > On Thu, Apr 3, 2025 at 11:10 PM Robert Haas <robertmhaas@gmail.com> > wrote: >> Do we really need ExecProcNodeOriginal? Can we find some way to reuse >> ExecProcNodeReal instead of making the structure bigger? > I also wanted to implement this without adding elements to PlanState if > possible, but I haven't found a good solution, so the patch uses > ExecSetExecProcNode. I tackled this again and the attached patch removes ExecProcNodeOriginal from Planstate. Instead of adding a new field, this version builds the behavior into the existing wrapper function, ExecProcNodeFirst(). Since ExecProcNodeFirst() is already handling instrumentation-related logic, the patch has maybe become a bit more complex to accommodate both that and the new behavior. While it might make sense to introduce a more general mechanism that allows for stacking an arbitrary number of wrappers around ExecProcNode, I’m not sure it's possible or worth the added complexity—such layered wrapping doesn't seem like something we typically need. What do you think? -- Regards, -- Atsushi Torikoshi Seconded from NTT DATA GROUP CORPORATION to SRA OSS K.K.