On Tue, Dec 1, 2020 at 9:31 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > > Andres Freund <and...@anarazel.de> writes: > > It should be quite doable to emit such backtraces directly to stderr, > > instead of using appendStringInfoString()/elog(). > > No, please no. > > (1) On lots of logging setups (think syslog), anything that goes to > stderr is just going to wind up in the bit bucket. I realize that > we have that issue already for memory context dumps on OOM errors, > but that doesn't make it a good thing. > > (2) You couldn't really write "to stderr", only to fileno(stderr), > creating issues about interleaving of the output with regular stderr > output. For instance it's quite likely that the backtrace would > appear before stderr output that had actually been emitted earlier, > which'd be tremendously confusing. > > (3) This isn't going to do anything good for my concerns about interleaved > output from different processes, either. >
I felt if we are not agreeing on logging on the stderr, even using static buffer we might not be able to log as send_message_to_server_log calls appendStringInfo. I felt that doing it from CHECK_FOR_INTERRUPTS may be better. Regards, Vignesh EnterpriseDB: http://www.enterprisedb.com