• Andres Freund's avatar
    Prevent WAL files created by pg_basebackup -x/X from being archived again. · 2c0a4858
    Andres Freund authored
    WAL (and timeline history) files created by pg_basebackup did not
    maintain the new base backup's archive status. That's currently not a
    problem if the new node is used as a standby - but if that node is
    promoted all still existing files can get archived again.  With a high
    wal_keep_segment settings that can happen a significant time later -
    which is quite confusing.
    
    Change both the backend (for the -x/-X fetch case) and pg_basebackup
    (for -X stream) itself to always mark WAL/timeline files included in
    the base backup as .done. That's in line with walreceiver.c doing so.
    
    The verbosity of the pg_basebackup changes show pretty clearly that it
    needs some refactoring, but that'd result in not be backpatchable
    changes.
    
    Backpatch to 9.1 where pg_basebackup was introduced.
    
    Discussion: 20141205002854.GE21964@awork2.anarazel.de
    2c0a4858
basebackup.c 35.5 KB