On Fri, Oct 14, 2016 at 4:11 AM, Christoph Berg <m...@debian.org> wrote:
> Re: Michael Paquier 2016-02-10 <CAB7nPqS=wBbZzBcty1KyN-
> > On Mon, Feb 8, 2016 at 11:32 PM, Andres Freund <and...@anarazel.de>
> > > Frequently when reading postgres logs to do some post mortem analysis
> > > I'm left wondering what process emitted an error/log message. After the
> > > fact it's often hard to know wether an error message was emitted by a
> > > user backend or by something internal, say the checkpointer or
> > > autovacuum. Logging all process starts is often impractical given the
> > > log volume that causes.
> > >
> > > So I'm proposing adding an escape displaying the process title (say 'k'
> > > for kind?). So %k would emit something like "autovacuum worker
> > > "wal sender process" etc.
> > It would be nice to get something consistent between the ps output and
> > this new prefix, say with for example a miscadmin.h parameter like
> > MyProcName.
> > > I'm thinking it might make sense to give normal connections "" as the
> > > name, they're usually already discernible.
> > Yeah, that sounds fine for me. What about background workers? I would
> > think that they should use BackgroundWorker->bgw_name.
> (Rediscovering an old horse)
> Couldn't these processes just set %a = application_name? (This would
> obviously need %q to be taught that %a is always valid.)
+1 from me on having non-session processes set application_name for logging
purposes, I've long wanted that.
I don't know why you would have to change %q though. I assume you would
just stick %a in from of %q, if that is what you wanted to do. But I've
never used %q myself.