Re: Proposal for background vacuum full/cluster - Mailing list pgsql-hackers

From Paul Tillotson
Subject Re: Proposal for background vacuum full/cluster
Date
Msg-id 42684B0D.4040206@shentel.net
Whole thread Raw
In response to Re: Proposal for background vacuum full/cluster  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Proposal for background vacuum full/cluster  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
List pgsql-hackers
Tom Lane wrote:

>"Jim C. Nasby" <decibel@decibel.org> writes:
>  
>
>>I'm not sure how different it is from vacuum full, though the main idea
>>is that instead of locking the table you instead work in smaller pieces
>>and don't block anything other than other updates.
>>    
>>
>
>We don't have any support for locking sections of a table larger than
>a page, so I'm not clear on how the above could be made to work.
>
>But in any case, I wasn't talking about vacuum full.  I was thinking of
>the total picture in a normal vacuum cycle:
>
>    1. vacuum cleans out dead tuples and records the space in FSM
>    2. ordinary inserts and updates use the space shown in FSM
>    3. next vacuum cleans out the space freed, and shortens the table
>       if it can
>
>I believe that step 2 preferentially uses space closer to the front
>of the table, so I think that what you are proposing already happens
>naturally.
>
>  
>
So if we attempted this, then the missing piece of the puzzle is       2b. move the tuples out of the end pages of the
tableusing
 
UPDATE, or using a "special" update that changes no values and fires no
triggers either.

Right?

Two questions:

1) Does an update always go to the FSM to find out where to put the new
tuple, or does it first try to put it in the current page, and only read
the FSM if the current page is already full?

2) Is it possible to write a where clause that can efficiently hit only
the tuples in the end of the table?  If there is a way, then I could
test the idea without writing any code at all.

Regards,
Paul Tillotson





pgsql-hackers by date:

Previous
From: Paul Tillotson
Date:
Subject: Re: Postgres: pg_hba.conf, md5, pg_shadow, encrypted passwords
Next
From: Paul Tillotson
Date:
Subject: Re: Proposal for background vacuum full/cluster