Re: [HACKERS] Concurrent VACUUM: first results
Vadim Mikheev <vadim@krs.ru>
From: Vadim Mikheev <vadim@krs.ru>
To: Hiroshi Inoue <Inoue@tpf.co.jp>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Bruce Momjian <pgman@candle.pha.pa.us>, pgsql-hackers@postgreSQL.org
Date: 1999-11-26T06:38:32Z
Lists: pgsql-hackers
Hiroshi Inoue wrote: > > > Vadim Mikheev <vadim@krs.ru> writes: > > >>>> * We have to commit our tuple' movings before we'll truncate > > >>>> * relation, but we shouldn't lose our locks. And so - quick hack: > > > > > ... or moved tuples may be lost in the case of DB/OS crash etc > > > that may occur after truncation but before commit... > > > > I wonder whether there isn't a cleaner way to do this. What about > > removing this early commit, and doing everything else the way that > > VACUUM does it, except that the physical truncate of the relation > > file happens *after* the commit at the end of vc_vacone? > > > > I think there exists another reason. > We couldn't delete index tuples for deleted but not yet committed > heap tuples. You're right! I just don't remember all reasons why I did as it's done -:)) > If we could start another transaction without releasing exclusive > lock for the target relation,it would be better. So. What's problem?! Start it! Commit "moving" xid, get new xid and go! Vadim