If I invoke vacuum manually and do so with VacuumCostDelay == 0, I
have basically declared my intentions to get this pain over with as
fast as possible even if it might interfere with other processes.
Under that condition, shouldn't it use BAS_BULKWRITE rather than
BAS_VACUUM? The smaller ring size leads to a lot of synchronous WAL
flushes which I think can slow the vacuum down a lot.
Cheers,
Jeff