postgres-github.git / summary / log / commit / refs

commit    33bf7318f94ce730563eb5ed95ad6c61d6e6f7a6
Author:   Álvaro Herrera <alvherre@kurilemu.de>
Date:     Sat Apr 04 18:38:26 2026 +0000

    Make index_concurrently_create_copy more general
    
    Also rename it to index_create_copy.  Add a 'boolean concurrent' option,
    and make it work for both cases: in concurrent mode, just create the
    catalog entries; caller is responsible for the actual building later.
    In non-concurrent mode, the index is built right away.
    
    This allows it to be reused for other purposes -- specifically, for
    concurrent REPACK.
    
    (With the CONCURRENTLY option, REPACK cannot simply swap the heap file and
    rebuild its indexes.  Instead, it needs to build a separate set of
    indexes, including their system catalog entries, *before* the actual
    swap, to reduce the time AccessExclusiveLock needs to be held for.  This
    approach is different from what CREATE INDEX CONCURRENTLY does.)
    
    Per a suggestion from Mihail Nikalayeu.
    
    Author: Antonin Houska <ah@cybertec.at>
    Reviewed-by: Mihail Nikalayeu <mihailnikalayeu@gmail.com>
    Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
    Discussion: https://postgr.es/m/41104.1754922120@localhost

[parent: 2d3490dd99f0]