Re: access method: are disk pages mandatory?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: Leonardo F <m_lists(at)yahoo(dot)it>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: access method: are disk pages mandatory?
Date: 2010-06-23 18:24:02
Message-ID: 25600.1277317442@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
> On 23/06/10 18:17, Leonardo F wrote:
>> I'm not getting it: am I supposed to use the "disk page format" when
>> writing an index access method, or it's just a "good practice" because
>> it makes the handling easier? Given the docs it looks "recommended",
>> but the comment on the code sounds more "mandatory".

> It's recommened because it makes life easier. Even if you don't use the
> normal page format, I think you need to have the LSN at the beginning of
> the page. The rest is up to you.

The bufpage.h comment is ancient and might not be 100% gospel anymore.
However, I believe the buffer manager does assume that any page in
shared buffers has a standard page header including LSN. It definitely
assumes there's an LSN, and I think we have validity checks on the other
page header fields somewhere inside ReadBuffer. You don't however need
to use the item-and-item-pointer-array structure if it's not useful to
you.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-06-23 18:36:28 Re: [BUGS] Server crash while trying to read expression using pg_get_expr()
Previous Message Jaime Casanova 2010-06-23 18:06:59 Re: Partitioning syntax