• Heikki Linnakangas's avatar
    Rewrite the way GIN posting lists are packed on a page, to reduce WAL volume. · 14d02f0b
    Heikki Linnakangas authored
    Inserting (in retail) into the new 9.4 format GIN posting tree created much
    larger WAL records than in 9.3. The previous strategy to WAL logging was
    basically to log the whole page on each change, with the exception of
    completely unmodified segments up to the first modified one. That was not
    too bad when appending to the end of the page, as only the last segment had
    to be WAL-logged, but per Fujii Masao's testing, even that produced 2x the
    WAL volume that 9.3 did.
    
    The new strategy is to keep track of changes to the posting lists in a more
    fine-grained fashion, and also make the repacking" code smarter to avoid
    decoding and re-encoding segments unnecessarily.
    14d02f0b
ginpostinglist.c 10.2 KB