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