Re: Multi-Versions and Vacuum - Mailing list pgsql-general

From Tom Lane
Subject Re: Multi-Versions and Vacuum
Date
Msg-id 13524.1027096523@sss.pgh.pa.us
Whole thread Raw
In response to Re: Multi-Versions and Vacuum  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Multi-Versions and Vacuum  (Andrew Sullivan <andrew@libertyrms.info>)
List pgsql-general
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> grant wrote:
>> Q:  Does VACUUM FULL remove the rows that are too many for the FSM?  Or,
>> are they just stuck?  I know that regular VACUUM will not allow reuse of
>> overflowed rows.

You seem to know things that aren't true.  What is an "overflowed row"
anyway?

> VACUUM full removes all unused rows from disk _including_ ones that
> aren't in the free space map.

The FSM isn't interested in individual rows in the first place; it just
records the amount of free space per *page*.

After VACUUM does its thing (and yes, it removes everything it legally
can) it reports the amount of free space it found on each page to the
FSM, and the FSM remembers as much of that info as it has room for ---
preferring pages with more free space, if it has to be selective.
Subsequently, when any backend needs to add a tuple to a relation, it
first looks in the FSM to see if there is an extant page with enough
room.  If there's no suitable entry in the FSM, then try the last extant
page; if no luck there, add a new page.

            regards, tom lane

pgsql-general by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Multi-Versions and Vacuum
Next
From: Bruno Wolff III
Date:
Subject: Re: Looking for types: phone number, email addresses