Re: Printing backtrace of postgres processes
От | vignesh C |
---|---|
Тема | Re: Printing backtrace of postgres processes |
Дата | |
Msg-id | CALDaNm1ig4dKFW1658YBH9338Oysc-MT6-YzeKU-ojv87MhhMQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Printing backtrace of postgres processes (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Printing backtrace of postgres processes
|
Список | pgsql-hackers |
On Thu, Jan 21, 2021 at 7:26 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Craig Ringer <craig.ringer@enterprisedb.com> writes: > > On Wed, 20 Jan 2021 at 05:23, Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> BTW, it also looks like the patch is doing nothing to prevent the > >> backtrace from being sent to the connected client. > > > I don't see a good reason to send a bt to a client. Even though these > > backtraces won't be analysing debuginfo and populating args, locals, etc, > > it should still just go to the server log. > > Yeah. That's easier than I was thinking, we just need to > s/LOG/LOG_SERVER_ONLY/. > > >> Maybe, given all of these things, we should forget using elog at > >> all and just emit the trace with fprintf(stderr). > > > That causes quite a lot of pain with MemoryContextStats() already > > True. Given the changes discussed in the last couple messages, I don't > see any really killer reasons why we can't ship the trace through elog. > We can always try that first, and back off to fprintf if we do find > reasons why it's too unstable. > Thanks all of them for the suggestions. Attached v3 patch which has fixes based on the suggestions. It includes the following fixes: 1) Removal of support to get callstack of all postgres process, user can get only one process callstack. 2) Update the documentation. 3) Added necessary checks for pg_print_callstack similar to pg_terminate_backend. 4) Changed LOG to LOG_SERVER_ONLY. Thoughts? Regards, Vignesh
Вложения
В списке pgsql-hackers по дате отправления: