Currently, one cannot perform a concurrent VACUUM and ANALYZE. This
is a significant problem for tables which are not only large and have
designated cost-delays, but which are also heavily inserted into and
deleted from. After performing a quick cursory investigation on this,
it doesn't appear to be difficult to change. Other than the
ShareUpdateExclusiveLock, is there anything technically preventing us
from performing both concurrently?
Because we wouldn't want multiple ANALYZEs running on the same table,
changing the lock back to an AccessShareLock doesn't sound like a
solution. However, what are the thoughts around creating another,
more-specific lock? Perhaps something like ShareUpdateAnalysisLock?
Any other suggestions?
-Jonah