• R
    Add new wal_level, logical, sufficient for logical decoding. · e55704d8
    Robert Haas 提交于
    When wal_level=logical, we'll log columns from the old tuple as
    configured by the REPLICA IDENTITY facility added in commit
    07cacba9.  This makes it possible
    a properly-configured logical replication solution to correctly
    follow table updates even if they change the chosen key columns,
    or, with REPLICA IDENTITY FULL, even if the table has no key at
    all.  Note that updates which do not modify the replica identity
    column won't log anything extra, making the choice of a good key
    (i.e. one that will rarely be changed) important to performance
    when wal_level=logical is configured.
    
    Each insert, update, or delete to a catalog table will also log
    the CMIN and/or CMAX values of stamped by the current transaction.
    This is necessary because logical decoding will require access to
    historical snapshots of the catalog in order to decode some data
    types, and the CMIN/CMAX values that we may need in order to judge
    row visibility may have been overwritten by the time we need them.
    
    Andres Freund, reviewed in various versions by myself, Heikki
    Linnakangas, KONDO Mitsumasa, and many others.
    e55704d8
heapdesc.c 5.8 KB