| 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: | Whole Thread | Raw Message | 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...
| 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 |