On Wed, 2009-09-16 at 21:00 -0400, Tom Lane wrote:
> But if
> we get rid of old-style VACUUM FULL then we do need something to cover
> those few-and-far-between situations where you really do desperately
> need to compact a table in place; and a utility like this seems like a
> reasonable solution. I'm thinking in particular that it should be
> possible to have it move just a bounded number of tuples at a time,
> so that you could do a VACUUM to clean out the indexes in between
> move passes. Otherwise you run the risk of running out of disk space
> anyway, due to index bloat.
Agreed to all of the above, though I see some challenges.
The way I read the thread so far is that there are multiple
requirements:
* Shrink a table efficiently - when time and space available to do so
* Shrink a table in place - when no space available
* Shrink a table concurrently - when no dedicated time available
We probably can't do all of them at once, but we do need all of them, at
various times.
-- Simon Riggs www.2ndQuadrant.com