Thread

  1. Re: Change checkpoint‑record‑missing PANIC to FATAL

    Nitin Jadhav <nitinjadhavpostgres@gmail.com> — 2025-12-29T15:09:08Z

    > I'd be curious to look at the amount of tests related to recovery
    > startup you have in mind anyway, Nitin.
    
    Apologies for the delay.
    At a high level, the recovery startup cases we want to test fall into
    two main buckets:
    (1) with a backup_label file and (2) without a backup_label file.
    
    From these two situations, we can cover the following scenarios:
    1) Primary crash recovery without a backup_label – Delete the WAL
    segment containing the checkpoint record and try starting the server.
    2) Primary crash recovery with a backup_label – Take a base backup
    (which creates the backup_label), remove the checkpoint WAL segment,
    and start the server with that backup directory.
    3) Standby crash recovery – Stop the standby, delete the checkpoint
    WAL segment, and start it again to see how standby recovery behaves.
    4) PITR / archive‑recovery – Remove the checkpoint WAL segment and
    start the server with a valid restore_command so it enters archive
    recovery.
    
    Tests (2) and (4) are fairly similar, so we can merge them if they
    turn out to be redundant.
    These are the scenarios I have in mind so far. Please let me know if
    you think anything else should be added.
    
    Best Regards,
    Nitin Jadhav
    Azure Database for PostgreSQL
    Microsoft