| From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
| Cc: | Andres Freund <andres(at)anarazel(dot)de>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Add backendType to PGPROC, replacing isRegularBackend |
| Date: | 2026-02-03 21:04:41 |
| Message-ID: | aYJi6QK9UCDWc9jP@nathan |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | Heikki Linnakangas | 2026-02-03 20:55:20 | Add backendType to PGPROC, replacing isRegularBackend |