On 18/04/17 19:18, Tom Lane wrote:
> Petr Jelinek <petr.jelinek@2ndquadrant.com> writes:
>> On 18/04/17 18:24, Peter Eisentraut wrote:
>>> I don't see why we need to do that. It is showing the correct
>>> information, isn't it?
>
>> It does, but it's also one of the things Tom complained about and I
>> think he is right in that at least values for launcher should be
>> filtered out there as there is not much meaning in what is shown for
>> launcher. The ugly part is that we can't tell it's launcher in any other
>> way than comparing bgw_library_name and bgw_function_name to specific
>> values.
>
> I think you're thinking about it wrong. To my mind the issue is that
> there should be some generic way to determine that a bgworker process
> is or is not laboring on behalf of an identifiable user. It's great
> that we can tell which user it is when there is one, but clearly some
> bgworkers will be providing general services that aren't associated with
> a single user. So it should be possible to set the userID to zero or
> some such when the bgworker is one that isn't associated with a
> particular user. Maybe the owning user needs to become an additional
> parameter passed in struct BackgroundWorker.
>
We can already do that. In fact after I wrote the above I thought we
could add some kind of boolean in the style of am_bootstrap_superuser as
BOOTSTRAP_SUPERUSER is what those bgworkers get assigned. I don't like
the name much though (am_bootstrap_superuser) as this should not be
associated with bootstrap IMHO.
-- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training &
Services