Hi, On 2021-10-11 15:24:46 +0900, Fujii Masao wrote: > How about modifying SharedInvalBackendInit() so that it accepts > BackendId as an argument and allocates the ProcState entry of > the specified BackendId? That is, the startup process determines > that its BackendId is "MaxBackends + MyAuxProcType (=StartupProcess) + 1" > in AuxiliaryProcessMain(), and then it passes that BackendId to > SharedInvalBackendInit() in InitRecoveryTransactionEnvironment().
If I understand correctly what you're proposing, I think that's going in the wrong direction. We should work towards getting rid of BackendIds instead. This whole complication vanishes if we make sinvaladt use pgprocno. See https://postgr.es/m/20210802171255.k4yv5cfqaqbuuy6f%40alap3.anarazel.de for some discussion of this. Greetings, Andres Freund