From what I could understand (that can be totally wrong), the vacuum process is split in multiple small transactions. If the autovacuum is canceled, could it be possible that only the latest transaction work be lost
From the docs:
"VACUUM cannot be executed inside a transaction block."
As it is non-transactional any work it performs is live immediately and irrevocably as it occurs.
David J.