• Robert Haas's avatar
    Add new replication mode synchronous_commit = 'remote_apply'. · 314cbfc5
    Robert Haas authored
    In this mode, the master waits for the transaction to be applied on
    the remote side, not just written to disk.  That means that you can
    count on a transaction started on the standby to see all commits
    previously acknowledged by the master.
    
    To make this work, the standby sends a reply after replaying each
    commit record generated with synchronous_commit >= 'remote_apply'.
    This introduces a small inefficiency: the extra replies will be sent
    even by standbys that aren't the current synchronous standby.  But
    previously-existing synchronous_commit levels make no attempt at all
    to optimize which replies are sent based on what the primary cares
    about, so this is no worse, and at least avoids any extra replies for
    people not using the feature at all.
    
    Thomas Munro, reviewed by Michael Paquier and by me.  Some additional
    tweaks by me.
    314cbfc5
xact.c 156 KB