• Andres Freund's avatar
    pg_rewind: fsync target data directory. · 408f0438
    Andres Freund authored
    Previously pg_rewind did not fsync any files. That's problematic, given
    that the target directory is modified. If the database was started
    afterwards, 2ce439f3 luckily already caused the data directory to be
    synced to disk at postmaster startup; reducing the scope of the problem.
    
    To fix, use initdb -S, at the end of the pg_rewind run. It doesn't seem
    worthwhile to duplicate the code into pg_rewind, and initdb -S is
    already used that way by pg_upgrade.
    
    Reported-By: Andres Freund
    Author: Michael Paquier, somewhat edited by me
    Discussion: 20160310034352.iuqgvpmg5qmnxtkz@alap3.anarazel.de
        CAB7nPqSytVG1o4S3S2pA1O=692ekurJ+fckW2PywEG3sNw54Ow@mail.gmail.com
    Backpatch: 9.5, where pg_rewind was introduced
    408f0438
file_ops.c 6.83 KB