pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Matthew O'Connor <matthew@zeut.net>
To: Steven Flatt <steven.flatt@gmail.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Database-wide vacuum can take a long time, during which
Date: Wed, 01 Nov 2006 16:56:07 -0500
Message-ID: <454917F7.3020901@zeut.net> (raw)
In-Reply-To: <357fa7590611011115q748ddce9qa6cf570ec2f15348@mail.gmail.com>
References: <357fa7590611011115q748ddce9qa6cf570ec2f15348@mail.gmail.com>

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




view thread (5+ messages)  latest in thread

Message-ID: <454917F7.3020901@zeut.net>
Permalink:  ../454917F7.3020901@zeut.net/
Also on:    postgresql.org/message-id/454917F7.3020901@zeut.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: matthew@zeut.net, steven.flatt@gmail.com
  Subject: Re: Database-wide vacuum can take a long time, during which
  In-Reply-To: <454917F7.3020901@zeut.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox