Re: Automatic free space map filling

Bruce Momjian <pgman@candle.pha.pa.us>

From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Zeugswetter Andreas DCP SD <ZeugswetterA@spardat.at>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Csaba Nagy <nagy@ecircle-ag.com>, "Matthew T. O'Connor" <matthew@zeut.net>, Christopher Browne <cbbrowne@acm.org>, postgres hackers <pgsql-hackers@postgresql.org>
Date: 2006-03-03T16:26:28Z
Lists: pgsql-hackers
Zeugswetter Andreas DCP SD wrote:
> 
> > > But what about index clearing?  When do you scan each index?
> > 
> > At the end of each iteration (or earlier, depending on 
> > maintenance_work_mem).  So for each iteration you would need 
> > to scan the indexes.
> > 
> > Maybe we could make maintenance_work_mem be the deciding 
> > factor; after scanning the indexes, do the release/reacquire 
> > locks cycle.
> 
> But you could do the indexes first and remember how far you can 
> vacuum the heap later.
> 
> So you might as well do each index separately first and remember 
> how far you can go with the heap for each one.
> Then do the heap with a special restriction that comes from what you 
> remembered from the indexes.
> You can now separate the heap vacuum in arbitrarily large transactions,
> since the indexes are already taken care of.
> 
> (You only vacuum to the point of the eldest vacuumed index)

I thought you need to know the heap tids to remove from the index, so
how do you do the index first?

-- 
  Bruce Momjian   http://candle.pha.pa.us
  SRA OSS, Inc.   http://www.sraoss.com

  + If your life is a hard drive, Christ can be your backup. +