On Mon, Feb 27, 2006 at 01:17:36PM -0500, Tom Lane wrote:
> > * vacuuming pages one by one as they're written by bgwriter
>
> That's not happening. VACUUM has to be a transaction and the bgwriter
> does not run transactions; nor is it in any position to clean out index
> entries associated with a heap page. (To change this would at a minimum
> require instituting a separate bgwriter process per database; or else a
> wholesale rewrite of our catalog access infrastructure to allow it to
> work in a non-database-specific context. There are also interesting
> deadlock problems to think about if the bgwriter can be blocked by other
> transactions, or if it needs to read pages not currently in shared memory.)
Or there could be a seperate daemon that isn't associated with bgwriter.
AFAIK as long as it vacuums the dirty page before bgwrite wants to write
it you'd still get the IO benefit.
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461