>> I still wonder why application_name appears in the configuration file if it >> cannot take effort :-P
> Not sure what you mean by that, but my postgresql.conf doesn't have > anything about application_name. But if it did, it would be a default > that an application can override.
The reason background processes don't print anything for %a is that it's presumed it couldn't possibly be set to anything meaningful. While in principle you can set it in the configuration file as a default for uninformed clients, it's not clear there's a good reason to do that. Even if you think that's a good idea, we'd still not want background processes to print it, because then you couldn't tell the difference between log entries from background processes and those from uninformed clients.