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

commit    5dbb63fc82b72ccc6f9e7be0361efdeee5deeb50
Author:   Álvaro Herrera <alvherre@kurilemu.de>
Date:     Mon Apr 20 13:44:23 2026 +0000

    REPACK: do not require REPLICATION or LOGIN
    
    Although REPACK (CONCURRENTLY) uses replication slots, there is no
    concern that the slot will leak data of other users, because the
    MAINTAIN privilege on the table is required anyway; requiring
    REPLICATION is user-unfriendly without providing any actual protection.
    
    A related aspect is that the REPLICATION attribute is not needed to
    prevent REPACK from stealing slots from logical replication, since
    commit e76d8c749c31 made REPACK use a separate pool of replication
    slots.
    
    Similarly, there's no reason to require that the table owner has the
    LOGIN privilege.  Bypass the default behavior in the background worker
    launch sequence.
    
    Because there are now successful concurrent repack runs in the
    regression tests, we're forced to run test_plan_advice under
    wal_level=replica, so add that.  Also, move the cluster.sql test to a
    different parallel group in parallel_schedule: apparently the use of the
    repack worker causes it to exceed the maximum limit of processes in some
    runs (the actual limit reached is the number of XIDs in a snapshot's xip
    array).
    
    Author: Antonin Houska <ah@cybertec.at>
    Reported-by: Justin Pryzby <pryzby@telsasoft.com>
    Reviewed-by: Chao Li <lic@highgo.com>
    Discussion: https://postgr.es/m/aeJHPNmL4vVy3oPw@pryzbyj2023

[parent: 158d8fadd79f]