Re: Add backendType to PGPROC, replacing isRegularBackend - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: Add backendType to PGPROC, replacing isRegularBackend
Date
Msg-id aYJi6QK9UCDWc9jP@nathan
Whole thread Raw
In response to Add backendType to PGPROC, replacing isRegularBackend  (Heikki Linnakangas <hlinnaka@iki.fi>)
Responses Re: Add backendType to PGPROC, replacing isRegularBackend
Re: Add backendType to PGPROC, replacing isRegularBackend
List pgsql-hackers
On Tue, Feb 03, 2026 at 10:55:20PM +0200, Heikki Linnakangas wrote:
> I propose a little refactoring, attached, to replace the "isRegularBackend"
> field in PGPROC with full "backendType".
> 
> Andres briefly suggested this a while back [1]:
> 
> On Fri, 22 Nov 2024 at 22:13, Andres Freund <andres(at)anarazel(dot)de>
> wrote:
>> Or we could have a copy of the backend type in PGPROC.
> 
> but we didn't follow up on that approach. I don't see why, it seems so much
> simpler than what we ended up doing. Am I missing something?

At a glance, it looks reasonable to me.  I don't recall whether I explored
this approach, but at the very least I'm unaware of any reason it wouldn't
work.

> @@ -684,7 +684,7 @@ InitAuxiliaryProcess(void)
>      MyProc->databaseId = InvalidOid;
>      MyProc->roleId = InvalidOid;
>      MyProc->tempNamespaceId = InvalidOid;
> -    MyProc->isRegularBackend = false;
> +    MyProc->backendType = B_INVALID;
>      MyProc->delayChkptFlags = 0;
>      MyProc->statusFlags = 0;
>      MyProc->lwWaiting = LW_WS_NOT_WAITING;

Hm.  So for auxiliary processes, this would always be unset?  That appears
to be alright for today's use-cases, but it could be a problem down the
road.

-- 
nathan



pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Add backendType to PGPROC, replacing isRegularBackend
Next
From: Zsolt Parragi
Date:
Subject: Re: Patch: dumping tables data in multiple chunks in pg_dump