Skip site navigation (1) Skip section navigation (2)

VACUUMs and WAL

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: VACUUMs and WAL
Date: 2008-10-28 08:49:45
Message-ID: 1225183785.3971.114.camel@ebony.2ndQuadrant (view raw or flat)
Thread:
Lists: pgsql-hackers
Looking at a VACUUM's WAL records makes me think twice about the way we
issue a VACUUM.

1. First we scan the heap, issuing a HEAP2 clean record for every block
that needs cleaning.

2. Then we scan the index, issuing WAL records as appropriate.

3. Then we rescan the heap, issuing a HEAP2 clean record for every
block.

I don't see a reason why we would issue 2 WAL records per block for a
VACUUM, nor why we would prune and remove in two steps, dirtying the
block each time. Seems like we could write approximately half the amount
of data that we do.

Surely we can come up with a better plan than that one?

-- 
 Simon Riggs           www.2ndQuadrant.com
 PostgreSQL Training, Services and Support


Responses

pgsql-hackers by date

Next:From: Hannu KrosingDate: 2008-10-28 09:45:30
Subject: Re: VACUUMs and WAL
Previous:From: Hitoshi HaradaDate: 2008-10-28 08:09:50
Subject: Re: Window Functions: v07 APIs and buffering strateties

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group