• Andres Freund's avatar
    Add amcheck verification of heap relations belonging to btree indexes. · 7f563c09
    Andres Freund authored
    Add a new, optional, capability to bt_index_check() and
    bt_index_parent_check():  check that each heap tuple that should have an
    index entry does in fact have one.  The extra checking is performed at
    the end of the existing nbtree checks.
    
    This is implemented by using a Bloom filter data structure.  The
    implementation performs set membership tests within a callback (the same
    type of callback that each index AM registers for CREATE INDEX).  The
    Bloom filter is populated during the initial index verification scan.
    
    Reusing the CREATE INDEX infrastructure allows the new verification
    option to automatically benefit from the heap consistency checks that
    CREATE INDEX already performs.  CREATE INDEX does thorough sanity
    checking of HOT chains, so the new check actually manages to detect
    problems in heap-only tuples.
    
    Author: Peter Geoghegan
    Reviewed-By: Pavan Deolasee, Andres Freund
    Discussion: https://postgr.es/m/CAH2-Wzm5VmG7cu1N-H=nnS57wZThoSDQU+F5dewx3o84M+jY=g@mail.gmail.com
    7f563c09
amcheck.control 154 Bytes