Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Josh Berkus <josh(at)agliodbs(dot)com>, Jeff Davis <pgsql(at)j-davis(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )
Date: 2009-08-13 23:31:15
Message-ID: 407d949e0908131631j3a96f1dbl7c467b6faa790b44@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

On Fri, Aug 14, 2009 at 12:21 AM, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> I was envisioning, if the page is already dirty and in memory *for any
>> reason*, the freeze rows at below some threshold.
>
> I believe we've had this discussion before.  I do *NOT* want freezing
> operations pushed into any random page access, and in particular will
> do my best to veto any attempt to put them into the bgwriter.

It's possible Josh accidentally waved this red flag and really meant
just to make it conditional on whether the page is dirty rather than
on whether vacuum dirtied it.

However he did give me a thought....

With the visibility map vacuum currently only covers pages that are
known to have in-doubt tuples. That's why we have the anti-wraparound
vacuums. However it could also check if the pages its skipping are in
memory and process them if they are even if they don't have in-doubt
tuples.

Or it could first go through ram and process any pages that are in
cache before going to the visibility map and starting from page 0,
which would hopefully avoid having to read them in later when we get
to them and find they've been flushed out.

I'm just brainstorming here. I'm not sure if either of these are
actually worth the complexity and danger of finding new bottlenecks in
special case optimization codepaths.

--
greg
http://mit.edu/~gsstark/resume.pdf

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Itagaki Takahiro 2009-08-14 00:34:05 Re: FDW-based dblink
Previous Message Tom Lane 2009-08-13 23:21:55 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )

Browse pgsql-performance by date

  From Date Subject
Next Message Jeff Janes 2009-08-14 01:18:10 Re: Scalability in postgres
Previous Message Tom Lane 2009-08-13 23:21:55 Re: freezing tuples ( was: Why is vacuum_freeze_min_age 100m? )