• Fujii Masao's avatar
    Prevent archive recovery from scanning non-existent WAL files. · 4bd0ad9e
    Fujii Masao authored
    Previously when there were multiple timelines listed in the history file
    of the recovery target timeline, archive recovery searched all of them,
    starting from the newest timeline to the oldest one, to find the segment
    to read. That is, archive recovery had to continuously fail scanning
    the segment until it reached the timeline that the segment belonged to.
    These scans for non-existent segment could be harmful on the recovery
    performance especially when archival area was located on the remote
    storage and each scan could take a long time.
    
    To address the issue, this commit changes archive recovery so that
    it skips scanning the timeline that the segment to read doesn't belong to.
    
    Author: Kyotaro Horiguchi, tweaked a bit by Fujii Masao
    Reviewed-by: David Steele, Pavel Suderevsky, Grigory Smolkin
    Discussion: https://postgr.es/m/16159-f5a34a3a04dc67e0@postgresql.org
    Discussion: https://postgr.es/m/20200129.120222.1476610231001551715.horikyota.ntt@gmail.com
    4bd0ad9e
xlog.c 390 KB