Re: Suggestion; "WITH VACUUM" option

From: "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: <josh(at)agliodbs(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Suggestion; "WITH VACUUM" option
Date: 2002-12-16 22:52:30
Message-ID: Pine.LNX.4.33.0212161551350.24032-100000@css120.ihs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 16 Dec 2002, Tom Lane wrote:

> Josh Berkus <josh(at)agliodbs(dot)com> writes:
> > How hard would it be to add a "WITH (VACUUM)" option to UPDATE and DELETE
> > queries? This option would cause the regular vacuum activity -- purging the
> > dead tuple and its index references -- to be done immediately, as part of the
> > statement, instead of being deferred.
>
> > Easy? Hard? Insane? What do you think?
>
> Impossible. You can't vacuum a tuple until the last open transaction
> that can see it is gone. It is therefore *impossible* for a transaction
> to vacuum away its own detritus; until the transaction commits, you
> can't even start to wonder whether other open transactions see it or
> not.
>
> Vacuuming has to be done later, and that being the case, I don't see any
> real advantage to altering the "background vacuum" design we have.

Then, would a "commit with vacuum" work? OR a "begin transaction with
vacuum" Just tossing them out there...

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2002-12-16 23:07:05 Re: FW: Duplicate oids!
Previous Message Tom Lane 2002-12-16 22:33:14 Re: Suggestion; "WITH VACUUM" option