Re: Enhancing Memory Context Statistics Reporting
Daniel Gustafsson <daniel@yesql.se>
From: Daniel Gustafsson <daniel@yesql.se>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Rahila Syed <rahilasyed90@gmail.com>,
Andres Freund <andres@anarazel.de>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-04-08T16:44:41Z
Lists: pgsql-hackers
> On 8 Apr 2025, at 18:41, Fujii Masao <masao.fujii@oss.nttdata.com> wrote: > On 2025/04/08 18:46, Daniel Gustafsson wrote: >>> On 8 Apr 2025, at 10:03, Daniel Gustafsson <daniel@yesql.se> wrote: >>> There was a bug in the shmem init function which caused it to fail on Windows, >>> the attached fixes that. >> With this building green in CI over several re-builds, and another pass over >> the docs and code with pgindent etc done, I pushed this earlier today. A few >> BF animals have built green so far but I will continue to monitor it. > > Thanks for committing this feature! > > I noticed that the third argument of pg_get_process_memory_contexts() is named > "retries" in pg_proc.dat, while the documentation refers to it as "timeout". > Since "retries" is misleading, how about renaming it to "timeout" in pg_proc.dat? > Patch attached. Ugh, that's my bad. It was changed from using retries to a timeout and I missed that. > Also, as I mentioned earlier, I encountered an issue when calling > pg_get_process_memory_contexts() on the PID of a backend that had just > encountered an error but hadn't finished rolling back. It led to > the following situation: > > Session 1 (PID=70011): > =# begin; > =# select 1/0; > ERROR: division by zero > > Session 2: > =# select * from pg_get_process_memory_contexts(70011, false, 10); > > Session 1 terminated with: > ERROR: ResourceOwnerEnlarge called after release started > FATAL: terminating connection because protocol synchronization was lost > > Shouldn't this be addressed? Sorry, this must've been missed in this fairly lon thread, will have a look at it tonight. -- Daniel Gustafsson
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Cross-check lists of built-in LWLock tranches.
- 2047ad068139 19 (unreleased) cited
-
Convert strncpy to strlcpy
- 45e7e8ca9e93 18.0 landed
-
Typo and doc fixups for memory context reporting
- f8c115a6cb65 18.0 landed
-
Add missing string terminator
- d2a1ed1727a8 18.0 landed
-
Rename argument in pg_get_process_memory_contexts().
- c57971034e69 18.0 landed
-
Add function to get memory context stats for processes
- 042a66291b04 18.0 landed