Hi Tom,
On Wed, Apr 01, 2009 at 08:58:54PM -0400, Tom Lane wrote:
> >> Maybe we should remove the code and make
> >> VACUUM FULL do the table-rewrite thing.
>
> > What do you mean with "the table-rewrite thing", exactly?
>
> Like CLUSTER, except not bothering to sort the rows: just seqscan the
> table, enter all live tuples into a new relation file, then rebuild
> the indexes from scratch.
>
> The only real disadvantages I can see for this implementation are
> that
> (1) it won't work on those system catalogs whose relfilenode can't
> be reassigned (pg_class and shared catalogs, at least).
> (2) it requires extra disk space during the rebuild; although the
> argument that VACUUM FULL works in-place is kinda shaky when you
> consider its effect on indexes.
I remember several people (including myself) who used VACUUM FULL as a
last resort when their database was bloated and they run out of disk
space. But this seems to be moot, anyway, so it's probably better not to
offer something that might or might not work in such a situation (and
takes loooong) but tell them straight: "You need lots of disk space or
you need to dump/drop/restore your database".
Tino.
--
"What we nourish flourishes." - "Was wir nähren erblüht."
www.lichtkreis-chemnitz.de
www.craniosacralzentrum.de