On Mon, 2003-07-28 at 11:04, Tom Lane wrote:
> Alvaro Herrera <alvherre@dcc.uchile.cl> writes:
> > Vacuum full locks the entire table and moves tuples between pages. It
> > leaves all pages full of tuples (except, obviously, the last one), so it
> > doesn't need to record them in the FSM.
>
> This is overoptimistic :-(. VACUUM FULL cannot necessarily compact the
> table completely, and so it will record free space in FSM (if there is
> any worth recording). An example situation is that page 1000 may
> contain a very large tuple, which will not fit on any earlier page.
> Once VACUUM FULL discovers this fact, it will not bother shuffling
> tuples on earlier pages, since it's not going to be able to truncate the
> table to less than 1000 pages. There may nonetheless be enough space
> available in earlier pages to store thousands of smaller-sized tuples.
>
Isn't it possible that the reshuffling of tuples before page 1000 could
open up enough space to move the overly large tuple?
Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL