Tom Lane escribió:
> Greg Stark <gsstark@mit.edu> writes:
> > It scans pages *backwards* from the end (which does wonderful things
> > on rotating media). Marks each live tuple it finds as "moved off",
> > finds a new place for it (using the free space map I think?).
>
> BTW, VACUUM FULL doesn't use the free space map --- that code predates
> the FSM by a lot. It builds its own map of free space during its
> initial lazy-VACUUM-equivalent scan that just removes dead tuples.
Another weird consequence of this is that it bails out if it finds a
tuple larger than it can fit in one of the earlier pages; if there's
dead space to be compacted before that, it's not compacted.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.