On Mon, Dec 06, 2021 at 06:21:40PM +0530, Bharath Rupireddy wrote: > The function PreallocXlogFiles doesn't get called during > end-of-recovery checkpoint in CreateCheckPoint, see [1]. The server > becomes operational after the end-of-recovery checkpoint and may need > WAL files.
PreallocXlogFiles() is never a necessity; it's just an attempted optimization. I expect preallocation at end-of-recovery would do more harm than good, because the system would accept no writes at all while waiting for it. > However, I'm not sure how beneficial it is going to be if > the WAL is pre-allocated (as PreallocXlogFiles just allocates only 1 > extra WAL file). Yeah, PreallocXlogFiles() feels like a relict from the same era that gave us checkpoint_segments=3. It was more useful before commit 63653f7 (2002).