• Heikki Linnakangas's avatar
    If backup-end record is not seen, and we reach end of recovery from a · 41f9ffd9
    Heikki Linnakangas authored
    streamed backup, throw an error and refuse to start up. The restore has not
    finished correctly in that case and the data directory is possibly corrupt.
    We already errored out in case of archive recovery, but could not during
    crash recovery because we couldn't distinguish between the case that
    pg_start_backup() was called and the database then crashed (must not error,
    data is OK), and the case that we're restoring from a backup and not all
    the needed WAL was replayed (data can be corrupt).
    
    To distinguish those cases, add a line to backup_label to indicate
    whether the backup was taken with pg_start/stop_backup(), or by streaming
    (ie. pg_basebackup).
    
    This requires re-initdb, because of a new field added to the control file.
    41f9ffd9
pg_control.h 7.51 KB