Re: Default autovacuum settings too conservative

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 07, 2006 at 01:39:34PM +0100, Markus Schaber wrote:
> Hi, Jim,
> 
> Jim C. Nasby wrote:
> 
> > What we really need is a replacement for vacuum_delay that takes
> > PostgreSQL generated IO activity into account...
> 
> There are also other ideas which can make vacuum less painfull:
> 
> - Use a "delete"-map (like the free space map) so vacuum can quickly
> find the pages to look at.

Already on TODO.

> - Have vacuum end its transaction after a certain amount of work, and
> restart at the same page later.

AFAIK this isn't possible with the current way vacuum works.

> - Have vacuum full search good candidates with non-stopping lock (and
> usage of delete-map and fsm), then doing {lock, recheck, move, unlock}
> in small amounts of data with delay between.

This isn't an issue of locks, it's an issue of long-running
transactions. It *might* be possible for vacuum to break work into
smaller transactions, but I'm pretty sure that would be a non-trivial
amount of hacking.

> - Introducing some load measurement, and a pressure measurement (number
> of deleted rows, TID wraparound etc.). Then start vacuum when load is
> low or pressure is very high. Tune other parameters (like "certain
> amount of work" depending on those measures.

Which is essentially what I was suggesting...

> All of them are a lot of code to hack, but although I'm not a postgresql
> core developer, I am keen enough to invite you to send patches. :-)

Well, if you know C then you're already 1 step closer to being able to
change these kinds of things than I am.
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby@xxxxxxxxxxxxx
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux