Joris Dobbelsteen wrote: > Why not collect some information from live databases and perform some > analysis on it? We already capture and utilize operational data from databases: for each table, how many tuples there are, how many tuples have been inserted, deleted, updated. We already analyse it to determine if a table needs vacuuming or not. But that data alone is not sufficient. You (the DBA) have to provide the system with timing information (e.g., at what time is it appropriate to vacuum huge tables). We also need to extend the system to be able to vacuum multiple tables in parallel, but the DBA needs to give some constraints: for example that you don't want more than 3 vacuum processes running at any time. Capturing data about someone's database is not going to help someone else's vacuuming strategy, because their usage patterns are potentially so different; and there are as many usage patterns as Imelda Marcos had shoes (well, maybe not that many), so any strategy that considers only two particular pairs of shows is not going to fly. We need to provide enough configurability to allow DBAs to make the vacuumer fit their situation. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc.