Re: straightening out backend process startup
От | Andres Freund |
---|---|
Тема | Re: straightening out backend process startup |
Дата | |
Msg-id | 20210805193917.fq3ijcf4wg7dpewe@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: straightening out backend process startup (Robert Haas <robertmhaas@gmail.com>) |
Список | pgsql-hackers |
Hi, Thanks Robert, Horiguchi-san for looking. On 2021-08-04 16:34:52 -0400, Robert Haas wrote: > On Mon, Aug 2, 2021 at 12:41 PM Andres Freund <andres@anarazel.de> wrote: > > - AuxiliaryProcessMain() is used for two independent tasks: Start bootstrap / > > checker mode and starting auxiliary processes. In HEAD there's maybe 5 lines > > out 250 that are actually common to both uses. > > > > A related oddity is that we reserve shared memory resources for bootstrap & > > checker aux processes, despite those never existing. > > > > This is addressed in patches 1-7 > > This all looks pretty mechanical and, I would guess, not very controversial. Pushed these patches. > > - The order of invocation of InitProcess()/InitAuxiliaryProcess() and > > BaseInit() depends on EXEC_BACKEND. Due to that there often is no single > > place initialization code can be put if it needs any locks. > > > > This is addressed in patches 8-9 > > > > - PostgresMain() has code for single user and multi user interleaved, making > > it unnecessarily hard to understand what's going on. > > > > This is addressed in patches 10 > > This stuff I'd need to study more in order to have an intelligent opinion. Unless somebody protests soon I plan to push at least the "process startup: Always call Init[Auxiliary]Process() before BaseInit()." portion, as the inconsistent order between EXEC_BACKEND/!EB is making life hard for me in other patches. I don't have a dependency on "process startup: Split single user code out of PostgresMain()." but it does make the code a good bit more readable imo... Greetings, Andres Freund
В списке pgsql-hackers по дате отправления: