OSDN Git Service

Remove pg_vlock locking from VACUUM, allowing multiple VACUUMs to run in
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Nov 1999 02:10:01 +0000 (02:10 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 28 Nov 1999 02:10:01 +0000 (02:10 +0000)
commitaa903cf07c80093dde1c7b19187911e7ada094b8
treee2a121e295e07026d4d4ac605859b68ca71b78f1
parentd2914c38b6c0b603c31af13c988cff7dcba5be79
Remove pg_vlock locking from VACUUM, allowing multiple VACUUMs to run in
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.
src/backend/commands/vacuum.c