Tom,

> I think it just needed more time.  VACUUM goes to great lengths to be
> crash-safe.  I doubt that a "fast stop" could have left the database
> in a corrupted state.

OK, that's reasuring.   I would have liked to give the process more time, but 
with users waiting ....

One thing I am puzzled by is the "D" status on the VACUUM process.  That would 
seem to indicate that VACUUM was waiting for some other process ... but I 
can't imagine what it could be.   Suggestions?

> Are you saying that you delete most or all of the rows, then vacuum?
> You might consider TRUNCATE if you delete all the rows, or CLUSTER
> if you delete most, as a substitute for VACUUM FULL.  (You'd still want
> to run ANALYZE, after you load fresh data.)  VACUUM FULL is really
> designed for the case where there are not a huge number of dead rows
> --- it gets awfully slow if it has to move lots of data.

There are several "holding" tables which are truncated and then re-built.  But 
the tables that are holding up VACUUM are the permanent ones, which are 
experiencing up to 900,000 updates every night.  

> Also, I think you have probably not given the FSM enough chance.
> If the FSM settings are adequate then it should work fine to do

Well, the holdup is the indexes, which are recycling about 500,000 pages and 
in 7.2.4 FSM doesn't help me.  Unfortunately, dropping the indexes during the 
data transformation isn't really an option, because the indexes support some 
of the data transform steps.

I'm wondering if I need to REINDEX more often; I think I'll try that next.

-- 
-Josh Berkus
 Aglio Database Solutions
 San Francisco


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to