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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-hackers by date

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