Re: Autovacuuming

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

 



Jim C. Nasby wrote:
> On Mon, Apr 24, 2006 at 08:41:55AM -0400, Alvaro Herrera wrote:
> > The test for database-wide vacuum is:
> > 
> > database age > big_constant
> > 
> > where:
> > 
> > big_constant = (MaxTransactionId >> 3) * 3 - 100000) = 1610512733
> 
> Ok, I'll bite... any idea how (MaxTransactionId >> 3) * 3 was chosen? I
> don't see anything about it in vacuum.c...

I don't remember exactly why was that constant chosen.  IIRC Tom pulled
it out of thin air.  You can see in vac_truncate_clog (vacuum.c) a
similar constant is used to emit messages about impending wraparound;
it's ((MaxTransactionId >> 3) * 3).  The one in autovacuum.c allows for
more slack.  (Which is kinda right because we want autovac to take care
of it _before_ the user sees any warning.)

> Also, maybe that should be defined in one place rather than duplicating
> it in autovacuum.c?

Hmm ... do you care enough to send a patch?

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux