Christopher Browne <cbbrowne@acm.org> writes:
> A long time ago, in a galaxy far, far away, PHatcher@macys.com (Patrick Hatcher) wrote:
>> Answered my own question. I gave up the vacuum full after 150 mins. I was
>> able to export to a file, vacuum full the empty table, and reimport in less
>> than 10 mins. I suspect the empty item pointers and the sheer number of
>> removable rows was causing an issue.
> In that case, you'd be a little further better off if the steps were:
> - drop indices;
> - copy table to file (perhaps via pg_dump -t my_table);
> - truncate the table, or drop-and-recreate, both of which make
> it unnecessary to do _any_ vacuum of the result;
> - recreate indices, probably with SORT_MEM set high, to minimize
> paging to disk
> - analyze the table (no need to vacuum if you haven't created any
> dead tuples)
> - cut SORT_MEM back down to "normal" sizes
Rather than doing all this manually, you can just CLUSTER on any handy
index. In 7.5, another possibility is to issue one of the forms of
ALTER TABLE that force a table rewrite.
The range of usefulness of VACUUM FULL is really looking narrower and
narrower to me. I can foresee a day when we'll abandon it completely.
regards, tom lane