• Alvaro Herrera's avatar
    Fix commit_ts for standby · f12e814b
    Alvaro Herrera authored
    Module initialization was still not completely correct after commit
    6b619551, per crash report from Takashi Ohnishi.  To fix, instead of
    trying to monkey around with the value of the GUC setting directly, add
    a separate boolean flag that enables the feature on a standby, but only
    for the startup (recovery) process, when it sees that its master server
    has the feature enabled.
    Discussion: http://www.postgresql.org/message-id/ca44c6c7f9314868bdc521aea4f77cbf@MP-MSGSS-MBX004.msg.nttdata.co.jp
    
    Also change the deactivation routine to delete all segment files rather
    than leaving the last one around.  (This doesn't need separate
    WAL-logging, because on recovery we execute the same deactivation
    routine anyway.)
    
    In passing, clean up the code structure somewhat, particularly so that
    xlog.c doesn't know so much about when to activate/deactivate the
    feature.
    
    Thanks to Fujii Masao for testing and Petr Jelínek for off-list discussion.
    
    Back-patch to 9.5, where commit_ts was introduced.
    f12e814b
commit_ts.h 2.11 KB