> > >
> > > Hmmm,isn't there old transaction running somewhere ?
> >
> > not that we are aware of ... there is a daemon running that is
> doing COPY
> > INs to the table ... how does something like that deal with a
> > vacuum? Will the vacuum wait for the COPY IN to end and/or
> prevent a COPY
> > IN from starting?
> >
>
> If a transaction read/write the target table it would be blocked
> by vacuum.
> But vacuum couldn't know what tables other backends would read/write in
> their running transactions. In MVCC old transaction have to see
> old deleted
> tuples in SERIALIZABLE isolation level and so vacuum doesn't remove the
> tuples which old transactions may see.
>
For example,if you type
begin;
select .. from .. ;
and leave your seat,any vacuum won't be able to remove tuples
deleted after the 'select .. from ..'.
Regards.
Hiroshi Inoue
Inoue@tpf.co.jp