Karl Wright wrote:
So, I guess this means that there's no way I can keep the database adequately vacuumed with my anticipated load and hardware. One thing or the other will have to change.
Have you checked your maintenance_work_mem setting? If it's not large enough, vacuum will need to scan through all indexes multiple times instead of just once. With 16 GB of RAM you should set it to something like 2GB I think, or even more.
Is the VACUUM in 8.2 significantly faster than the one in 8.1?
Yes, in particular if you have a lot of indexes. Scanning the indexes was done in index page order, which in worst case means random I/O, and we used to do an extra scan of all index pages to collect empty ones. Now it's all done as a single sequential pass.
Or, is the database less sensitive performance-wise to delayed VACUUM commands?
No. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com