Re: Idea for getting rid of VACUUM FREEZE on cold pages

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Josh Berkus <josh(at)agliodbs(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Russell Smith <mr-russ(at)pws(dot)com(dot)au>, Jan Wieck <JanWieck(at)yahoo(dot)com>
Subject: Re: Idea for getting rid of VACUUM FREEZE on cold pages
Date: 2010-06-08 12:27:11
Message-ID: AANLkTint9RWHsO9xOQljtGL4cJ969IFy8Uu-m_JoaXaL@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 8, 2010 at 2:26 AM, Stephen Frost <sfrost(at)snowman(dot)net> wrote:
> Just an off-the-wall thought, but, would it be possible to have a tool
> which read WAL backwards and compared entries in the WAL against entries
> on disk?  I realize that you'd only see one version of a particular
> block and then have to skip any updates which are earlier than it, but
> it seems like you could cover a pretty large chunk of the recent changes
> to the database using this approach..

I assume you mean back out the changes incrementally until you find a
full_page_write and see if it matches? And continue comparing with
full_page_writes once per checkpoint? I don't think the WAL has enough
information to replay backwards though. For example vacuum cleanup
records just list the tids to remove. They don't have the contents to
replace there.

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2010-06-08 12:40:51 Re: Functional dependencies and GROUP BY
Previous Message Leonardo F 2010-06-08 11:55:15 Git: Unable to get pack file