Re: Skip hole in log_newpage

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Re: Skip hole in log_newpage
Date: 2013-12-03 12:20:17
Message-ID: 529DCC81.6050905@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 12/03/2013 02:03 PM, Andres Freund wrote:
> On 2013-12-03 13:57:04 +0200, Heikki Linnakangas wrote:
>> On 12/03/2013 01:37 PM, Andres Freund wrote:
>>> I haven't looked thoroughly through all callsites, but shouldn't the
>>> vacuumlazy callsite use std = true?
>>
>> Well, it's logging an empty page, ie. a page full of zeros. I'm not sure if
>> you'd consider that a "standard" page. Like the backup-block code in xlog.c,
>> log_newpage actually makes a full page image without the hole if pd_lower ==
>> 0, even if you pass std = 'true', so the end result is the same.
>
> Hm. It should have been PageInit()ed and thus have sensible
> pd_lower/upper, right? Otherwise we'd have entered thePageIsNew() branch
> above it.
> It's obviously not critical, but it seems like a shame to write 8kb when
> it's not necessary.

Ah, you're right. I was thinking that that is the PageIsNew() branch,
but it's not.

- Heikki

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message MauMau 2013-12-03 12:45:53 [bug fix] "pg_ctl stop" times out when it should respond quickly
Previous Message Andres Freund 2013-12-03 12:03:28 Re: Skip hole in log_newpage