On 2021-Aug-02, Andres Freund wrote: > On Mon, Aug 2, 2021, at 12:12, Alvaro Herrera wrote:
> > Hmm, I don't remember that an shmem-unconnected bgworker first connected > > to it and then let go. It seems weird to do it that way. My intention, > > as far as I recall, is that they would just never connect to shmem, > > period. > > They currently do for EXEC_BACKEND. See SubPostmasterMain(). There the > definition of the worker is passed via shared memory. So it does the > full reattach thing, which requires lwlock, which requires PGPROC. We > could get away without that by passing more through the variables file > (either the worker definition or the address of the bgworker shmem > piece). Ah, that makes sense. That doesn't sound super fragile, but it is odd and it's probably a good argument for removing the feature, particularly since nobody seems to be using it. -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "Ninguna manada de bestias tiene una voz tan horrible como la humana" (Orual)