Any time this happens it's generally a nasty surprise for users. It
would be nice to throw them an explicit warning that it's occurring.
decibel=# vacuum i;
WARNING: exceeded maintenance_work_mem while vacuuming relation
"public.i"
HINT: Consider increasing maintenance_work_mem
VACUUM
decibel=#
Attached passes regression tests...