From: Jim C. Nasby <jim@nasby.net>
To: Jeremy Haile <jhaile@fastmail.fm>
Cc: pgsql-performance@postgresql.org
Subject: Re: High inserts, bulk deletes - autovacuum vs scheduled vacuum
Date: Wed, 10 Jan 2007 19:27:09 -0600
Message-ID: <20070111012709.GG12217@nasby.net> (raw)
In-Reply-To: <1168465722.17889.1168630713@webmail.messagingengine.com>
References: <1168363601.5177.1168380907@webmail.messagingengine.com>
<20070110203556.GX12217@nasby.net>
<1168461780.9408.1168619515@webmail.messagingengine.com>
<20070110212125.GZ12217@nasby.net>
<1168465722.17889.1168630713@webmail.messagingengine.com>
On Wed, Jan 10, 2007 at 04:48:42PM -0500, Jeremy Haile wrote:
> > BTW, that's the default values for analyze... the defaults for vacuum
> > are 2x that.
>
> Yeah - I was actually more concerned that tables would need to be
> analyzed more often than I was about vacuuming too often, so I used
> analyze as the example. Since my app is inserting constantly throughout
> the day and querying for "recent" data - I want to make sure the query
> planner realizes that there are lots of rows with new timestamps on
> them. In other words, if I run a query "select * from mytable where
> timestamp > '9:00am'" - I want to make sure it hasn't been a day since
> the table was analyzed, so the planner thinks there are zero rows
> greater than 9:00am today.
Well, analyze is pretty cheap. At most it'll read only 30,000 pages,
which shouldn't take terribly long on a decent system. So you can be a
lot more aggressive with it.
> > What's more important
> > is to make sure critical tables (such as queue tables) are getting
> > vacuumed frequently so that they stay small.
>
> Is the best way to do that usually to lower the scale factors? Is it
> ever a good approach to lower the scale factor to zero and just set the
> thresholds to a pure number of rows? (when setting it for a specific
> table)
The problem is what happens if autovac goes off and starts vacuuming
some large table? While that's going on your queue table is sitting
there bloating. If you have a separate cronjob to handle the queue
table, it'll stay small, especially in 8.2.
--
Jim Nasby jim@nasby.net
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)
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: jim@nasby.net, jhaile@fastmail.fm
Subject: Re: High inserts, bulk deletes - autovacuum vs scheduled vacuum
In-Reply-To: <20070111012709.GG12217@nasby.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