Re: Question on REINDEX - Mailing list pgsql-performance

From Alvaro Herrera
Subject Re: Question on REINDEX
Date
Msg-id 20050419182826.GA18949@dcc.uchile.cl
Whole thread Raw
In response to Re: Question on REINDEX  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Question on REINDEX
List pgsql-performance
On Tue, Apr 19, 2005 at 10:06:40AM -0400, Tom Lane wrote:

> BTW, VACUUM FULL does the data movement back-to-front, and stops as soon
> as it finds a tuple it cannot move down; which is a reasonable strategy
> since the goal is merely to make the file shorter.  But it's entirely
> likely that there will be lots of empty space left at the end.  For
> instance the final state could have one 4K tuple in the last page and
> up to 4K-1 free bytes in every earlier page.

Am I right in thinking that vacuum does at least two passes: one
front-to-back to find removable tuples, and other back-to-front for
movement?  Because if it doesn't work this way, it wouldn't relabel
(change Xmin/Xmax) tuples in early pages.  Or does it do something
different?

I know maintenance_work_mem is used for storing TIDs of to-be-moved
tuples for index cleanup ... how does it relate to the above?

--
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"Crear es tan difícil como ser libre" (Elsa Triolet)

pgsql-performance by date:

Previous
From: Tom Lane
Date:
Subject: Re: Question on REINDEX
Next
From: Tom Lane
Date:
Subject: Re: Question on REINDEX