• Amit Kapila's avatar
    Add option to enable two_phase commits via pg_create_logical_replication_slot. · 19890a06
    Amit Kapila authored
    Commit 0aa8a01d extends the output plugin API to allow decoding of
    prepared xacts and allowed the user to enable/disable the two-phase option
    via pg_logical_slot_get_changes(). This can lead to a problem such that
    the first time when it gets changes via pg_logical_slot_get_changes()
    without two_phase option enabled it will not get the prepared even though
    prepare is after consistent snapshot. Now next time during getting changes,
    if the two_phase option is enabled it can skip prepare because by that
    time start decoding point has been moved. So the user will only get commit
    prepared.
    
    Allow to enable/disable this option at the create slot time and default
    will be false. It will break the existing slots which is fine in a major
    release.
    
    Author: Ajin Cherian
    Reviewed-by: Amit Kapila and Vignesh C
    Discussion: https://postgr.es/m/d0f60d60-133d-bf8d-bd70-47784d8fabf3@enterprisedb.com
    19890a06
system_views.sql 56 KB