From: | Vadim Mikheev <vadim(at)krs(dot)ru> |
---|---|
To: | Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [HACKERS] Concurrent VACUUM: first results |
Date: | 1999-11-26 06:38:32 |
Message-ID: | 383E2AE8.5C4ADF65@krs.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hiroshi Inoue wrote:
>
> > Vadim Mikheev <vadim(at)krs(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Vadim Mikheev | 1999-11-26 06:42:07 | Re: [HACKERS] Concurrent VACUUM: first results |
Previous Message | Tom Lane | 1999-11-26 06:36:18 | Re: [HACKERS] Concurrent VACUUM: first results |