• Tom Lane's avatar
    Remove pg_vlock locking from VACUUM, allowing multiple VACUUMs to run in · aa903cf0
    Tom Lane authored
    parallel --- and, not incidentally, removing a common reason for needing
    manual cleanup by the DB admin after a crash.  Remove initial global
    delete of pg_statistics rows in VACUUM ANALYZE; this was not only bad
    for performance of other backends that had to run without stats for a
    while, but it was fundamentally broken because it was done outside any
    transaction.  Surprising we didn't see more consequences of that.
    Detect attempt to run VACUUM inside a transaction block.  Check for
    query cancel request before starting vacuum of each table.  Clean up
    vacuum's private portal storage if vacuum is aborted.
    aa903cf0
vacuum.c 77.9 KB