Re: Database-wide vacuum can take a long time, during which

From: Matthew O'Connor <matthew(at)zeut(dot)net>
To: Steven Flatt <steven(dot)flatt(at)gmail(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Database-wide vacuum can take a long time, during which
Date: 2006-11-01 21:56:07
Message-ID: 454917F7.3020901@zeut.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Steven Flatt wrote:
> Here is a potential problem with the auto-vacuum daemon, and I'm
> wondering if anyone has considered this. To avoid transaction ID
> wraparound, the auto-vacuum daemon will periodically determine that it
> needs to do a DB-wide vacuum, which takes a long time. On our system,
> it is on the order of a couple of weeks. (The system is very busy and
> there is a lot of I/O going on pretty much 24/7). During this period of
> time, there is nothing to automatically analyze any of the tables,
> leading to further performance problems. What are your thoughts on
> having the DB-wide vacuum running on a separate thread so that the
> daemon can concurrently wake up and take care of analyzing tables?

Two issues here:
1)XID Wraparound: There has been work done on this already, and in 8.2
I believe there will no longer be a requirement that a database wide
vacuum be issued, rather, XID wraparound will be managed on a per table
basis rather than per database, so that will solve this problem.

2)Concurrent Vacuuming: There has been a lot of talk about
multiple-concurrent vacuums and I believe that this is required in the
long run, but it's not here yet, and won't be in 8.2, hopefully it will
get done for 8.3.

Matt

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Simon Riggs 2006-11-02 10:49:18 Re: Database-wide vacuum can take a long time, duringwhich tables are not being analyzed
Previous Message Steven Flatt 2006-11-01 19:15:29 Database-wide vacuum can take a long time, during which tables are not being analyzed