For reference, here's the discussion about this that took place on hackers: http://lnk.nu/archives.postgresql.org/142.php
On Sun, Jan 23, 2005 at 01:16:20AM -0500, Christopher Browne wrote: > A long time ago, in a galaxy far, far away, [EMAIL PROTECTED] (Greg Stark) > wrote: > > Dawid Kuroczko <[EMAIL PROTECTED]> writes: > > > >> Quick thought -- would it be to possible to implement a 'partial VACUUM' > >> per analogiam to partial indexes? > > > > No. > > > > But it gave me another idea. Perhaps equally infeasible, but I don't see > > why. > > > > What if there were a map of modified pages. So every time any tuple > > was marked deleted it could be marked in the map as modified. VACUUM > > would only have to look at these pages. And if it could mark as free > > every tuple that was marked as deleted then it could unmark the > > page. > > > > The only downside I see is that this could be a source of contention > > on multi-processor machines running lots of concurrent > > update/deletes. > > I was thinking the same thing after hearing fairly extensive > "pooh-poohing" of the notion of vacuuming based on all the pages in > the shared cache. > > This "hot list page table" would probably need to be a hash table. It > rather parallels the FSM, including the way that it would need to be > limited in size. > -- > wm(X,Y):-write(X),write('@'),write(Y). wm('cbbrowne','gmail.com'). > http://cbbrowne.com/info/lsf.html > Rules of the Evil Overlord #57. "Before employing any captured > artifacts or machinery, I will carefully read the owner's manual." > <http://www.eviloverlord.com/> > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to [EMAIL PROTECTED] so that your > message can get through to the mailing list cleanly > -- Jim C. Nasby, Database Consultant [EMAIL PROTECTED] Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?" ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match