Hannes Erven <hannes(at)erven(dot)at> writes:
> On 2014-04-27 21:53, Tom Lane wrote:
>> Sitting on an open transaction for hours would be a bad idea.
> I'm wondering why this is and what the consequences might be - I
> thought, the MVCC model would handle that rather well?
Vacuum can't delete dead rows if there's some transaction that can still
see them. So long-running transactions + update activity = table bloat.
(I had the idea that we'd fixed this, in recent releases, if you're using
READ COMMITTED isolation level; but some experimentation says VACUUM still
won't release rows while there are idle transactions.)
regards, tom lane