On Wed, Sep 2, 2009 at 12:01 AM, Alvaro Herrera<alvhe...@commandprompt.com> wrote: >> The use cases where VACUUM FULL wins currently are where storing two >> copies of the table and its indexes concurrently just isn't practical. > > Yeah, but then do you really need to use VACUUM FULL? If that's really > a problem then there ain't that many dead tuples around.
That's what I want to believe. But picture if you have, say a 1-terabyte table which is 50% dead tuples and you don't have a spare 1-terabytes to rewrite the whole table. >> Also perhaps tables where there are too many large indexes to make >> rebuilding them all in one maintenance window practical. > > If that's the concern maybe we oughta do something about concurrently > re-creating those indexes somehow. Plain REINDEX doesn't work of > course, but maybe we can do some trick with creating a new index and > dropping the original one afterwards. Well that doesn't really work if you want to rewrite the table. CLUSTER has to rebuild all the indexes when it's done. I think the solution for both of these is actually partitioning. The bottom line is that having a single table which contains very large amounts of data is awkward to maintain. -- greg http://mit.edu/~gsstark/resume.pdf -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers