• Alvaro Herrera's avatar
    Fix BRIN summarization concurrent with extension · ec42a1dc
    Alvaro Herrera authored
    If a process is extending a table concurrently with some BRIN
    summarization process, it is possible for the latter to miss pages added
    by the former because the number of pages is computed ahead of time.
    
    Fix by determining a fresh relation size after inserting the placeholder
    tuple: any process that further extends the table concurrently will
    update the placeholder tuple, while previous pages will be processed by
    the heap scan.
    
    Reported-by: Tomas Vondra
    Reviewed-by: Tom Lane
    Author: Álvaro Herrera
    Discussion: https://postgr.es/m/083d996a-4a8a-0e13-800a-851dd09ad8cc@2ndquadrant.com
    Backpatch-to: 9.5
    ec42a1dc
brin.c 41.2 KB