On Wed, Jan 12, 2022 at 10:18:11AM +0800, Julien Rouhaud wrote: > On Wed, Jan 12, 2022 at 07:19:48AM +0530, Bharath Rupireddy wrote: >>> Can the postgres server ever have/generate out of sequence WAL files? >>> For instance, 000000010000020C000000A2, 000000010000020C000000A3, >>> 000000010000020C000000A5 and so on, missing 000000010000020C000000A4. >>> Manual/Accidental deletion of the WAL files can happes, but are there >>> any other extreme situations (like recycling, removing old WAL files >>> etc.) caused by the postgres server leading to missing WAL files? > > By definition there shouldn't be such situation, as it would otherwise be a > (critical) bug.
I have seen that in the past, in cases where a system got harshly deplugged then replugged where a segment file flush got missing. But that was just a flacky system, Postgres relied just on something wrong. So the answer is that this should not happen. >>> What happens when postgres server finds missing WAL file during >>> crash/standby recovery? > > The recovery should fail. xlog.c can be a good read to check the assumptions WAL replay relies on, with things like CheckRecoveryConsistency() or reachedConsistency. -- Michael
signature.asc
Description: PGP signature