• Alvaro Herrera's avatar
    Fix full-table-vacuum request mechanism for MultiXactIds · f54106f7
    Alvaro Herrera authored
    While autovacuum dutifully launched anti-multixact-wraparound vacuums
    when the multixact "age" was reached, the vacuum code was not aware that
    it needed to make them be full table vacuums.  As the resulting
    partial-table vacuums aren't capable of actually increasing relminmxid,
    autovacuum continued to launch anti-wraparound vacuums that didn't have
    the intended effect, until age of relfrozenxid caused the vacuum to
    finally be a full table one via vacuum_freeze_table_age.
    
    To fix, introduce logic for multixacts similar to that for plain
    TransactionIds, using the same GUCs.
    
    Backpatch to 9.3, where permanent MultiXactIds were introduced.
    
    Andres Freund, some cleanup by Álvaro
    f54106f7
vacuum.h 6.82 KB