Re: Suggestion; "WITH VACUUM" option

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: josh(at)agliodbs(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Suggestion; "WITH VACUUM" option
Date: 2002-12-16 22:33:14
Message-ID: 29163.1040077994@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message scott.marlowe 2002-12-16 22:52:30 Re: Suggestion; "WITH VACUUM" option
Previous Message Iavor Raytchev 2002-12-16 22:28:01 pgaccess 0.98.8 - released