• Tom Lane's avatar
    Improve memory management in autovacuum.c. · 335f3d04
    Tom Lane authored
    Invoke vacuum(), as well as "work item" processing, in the PortalContext
    that do_autovacuum() has manufactured, which will be reset before each
    such invocation.  This ensures cleanup of any memory leaked by these
    operations.  It also avoids the rather dangerous practice of calling
    vacuum() in a context that vacuum() itself will destroy while it runs.
    There's no known live bug there, but it's not hard to imagine introducing
    one if we leave it like this.
    
    Tom Lane, reviewed by Michael Paquier and Alvaro Herrera
    
    Discussion: https://postgr.es/m/13849.1506114543@sss.pgh.pa.us
    335f3d04
autovacuum.c 97.6 KB