Re: Allow non-superuser to cancel superuser tasks. - Mailing list pgsql-hackers

From Kirill Reshke
Subject Re: Allow non-superuser to cancel superuser tasks.
Date
Msg-id CALdSSPj8PxOsU2YcDZdZmcZe-oC=FJRrAEZDuirMQd4eYCPU7g@mail.gmail.com
Whole thread Raw
In response to Re: Allow non-superuser to cancel superuser tasks.  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers


On Sat, 23 Nov 2024, 07:44 Nathan Bossart, <nathandbossart@gmail.com> wrote:
On Fri, Nov 22, 2024 at 06:13:16PM -0500, Andres Freund wrote:
>> -            if (procStatus && procStatus->st_backendType == B_AUTOVAC_WORKER)
>> +            if (pgstat_get_backend_type(pid) == B_AUTOVAC_WORKER)
>
> Because we already mapped the pid to a ProcNumber, it'd be cheaper to access
> the backend status via procnumber.

D'oh, I missed that ProcNumber could be used as an index for the
BackendStatusArray.  Is the attached more like what you are imagining?

> We don't need the pgstat_begin_read_activity() protocol when just accessing a
> single 4 byte value - we assume in lots of places that can be read in a
> non-tearable way.
>
>> +                    if (pgstat_read_activity_complete(before_changecount,
>> +                                                                                      after_changecount))
>> +                            break;
>> +
>> +                    CHECK_FOR_INTERRUPTS();
>> +            }
>> +
>> +            if (found)
>> +                    return beentry->st_backendType;
>
> But if we were to follow it, we'd certainly need to use it here too.

I see.

--
nathan
Hi!
LGTM

pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Make postmaster environment dump easier to skim over
Next
From: Tom Lane
Date:
Subject: Re: Self contradictory examining on rel's baserestrictinfo