Greg Stark <gsst...@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. While I don't think this hurts performance any, I have seen reports of VACUUM FULL failing outright on large tables because it runs out of memory for this map. So that's still another way in which it's not actually all that useful for huge tables. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers