Re: Autovacuum in the backend - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Autovacuum in the backend
Date
Msg-id 200506170215.j5H2Fb104554@candle.pha.pa.us
Whole thread Raw
In response to Re: Autovacuum in the backend  (Gavin Sherry <swm@linuxworld.com.au>)
Responses Re: Autovacuum in the backend
List pgsql-hackers
Gavin Sherry wrote:
> In January I was in Toronto with Jan, Tom and others and some ideas about
> vacuum were being discussed. The basic idea is that when we dirty pages we
> need we set a bit in a bitmap to say that the page has been dirty. A
> convenient place to do this is when we are writing dirty buffers out to
> disk. In many situations, this can happen inside the bgwriter meaning that
> there should be little contention for this bitmap. Of course, individual
> backends may be writing pages out and would have to account for the
> dirty pages at that point.
> 
> Now this bitmap can occur on a per heap segment basis (ie, per 1 GB heap
> file). You only need 2 pages for the bitmap to represent all the pages in
> the segment, which is fairly nice. When vacuum is run, instead of visiting
> every page, it would see which pages have been dirtied in the bitmap and
> visit only pages. With large tables and small numbers of modified
> tuples/pages, the effect this change would have would be pretty
> impressive.

Added to TODO:
* Create a bitmap of pages that need vacuuming  Instead of sequentially scanning the entire table, have the background
writeror some other process record pages that have expired rows, then  VACUUM can look at just those pages rather than
theentire table.  In  the event of a system crash, the bitmap would probably be invalidated.
 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: "Qingqing Zhou"
Date:
Subject: Re: Autovacuum in the backend
Next
From: Tom Lane
Date:
Subject: Re: [PATCHES] Escape handling in strings