From: Craig Ringer [mailto:craig@2ndquadrant.com]
> TL;DR: Lets add a ProcSignalReason that makes a backend call
> MemoryContextStats when it sees it and a C func that users can use to set
> it on a proc. Sane?
> So how about borrowing a ProcSignalReason entry for "dump a memory context
> summary at your earliest convenience" ? We could name it a more generic
> "dump debug data" in case we want to add things later.
>
> Then a new pg_log_debug_backend(int) function or something like that could
> signal the proc and let CHECK_FOR_INTERRUPTS handle calling
> MemoryContextStats next time it's called.
+1
That's one of things I wanted to do. It will be more useful on Windows. Would it work for autovac processes and
backgroundworkers, etc. that connect to shared memory?
I have also wanted to dump stack traces. Linux (glibc) has backtrace_symbols(), and Windows has
StackWalk()/StackWalk64(). Is it sane to make the function a hook?
Regards
Takayuki Tsunakawa