"Mark Coffman" <mark@epilogue.net> writes:
> is there any way for me to schedule a VACUUM
> that won't hang?
Fix your client-side code to not sit idle forever with uncommitted
transactions. That's a bad practice independently of whether it
gives VACUUM problems. The clients presumably think that whatever
they've done so far is committed ... but guess what, it's not.
> I cannot autocommit because I need transactions.
Fine, but that means that you have the responsibility to commit.
Evidently you're not doing so.
FWIW, 7.2's default VACUUM will be more forgiving, but that doesn't
make your clients' behavior a good idea.
regards, tom lane