• Fujii Masao's avatar
    Support quorum-based synchronous replication. · 3901fd70
    Fujii Masao authored
    This feature is also known as "quorum commit" especially in discussion
    on pgsql-hackers.
    
    This commit adds the following new syntaxes into synchronous_standby_names
    GUC. By using FIRST and ANY keywords, users can specify the method to
    choose synchronous standbys from the listed servers.
    
      FIRST num_sync (standby_name [, ...])
      ANY num_sync (standby_name [, ...])
    
    The keyword FIRST specifies a priority-based synchronous replication
    which was available also in 9.6 or before. This method makes transaction
    commits wait until their WAL records are replicated to num_sync
    synchronous standbys chosen based on their priorities.
    
    The keyword ANY specifies a quorum-based synchronous replication
    and makes transaction commits wait until their WAL records are
    replicated to *at least* num_sync listed standbys. In this method,
    the values of sync_state.pg_stat_replication for the listed standbys
    are reported as "quorum". The priority is still assigned to each standby,
    but not used in this method.
    
    The existing syntaxes having neither FIRST nor ANY keyword are still
    supported. They are the same as new syntax with FIRST keyword, i.e.,
    a priorirty-based synchronous replication.
    
    Author: Masahiko Sawada
    Reviewed-By: Michael Paquier, Amit Kapila and me
    Discussion: <CAD21AoAACi9NeC_ecm+Vahm+MMA6nYh=Kqs3KB3np+MBOS_gZg@mail.gmail.com>
    
    Many thanks to the various individuals who were involved in
    discussing and developing this feature.
    3901fd70
config.sgml 346 KB