Re: Block-level CRC checks - Mailing list pgsql-hackers

From Greg Stark
Subject Re: Block-level CRC checks
Date
Msg-id 407d949e0912040544r29874e98n9029e5ed3d70d6a1@mail.gmail.com
Whole thread Raw
In response to Re: Block-level CRC checks  (Greg Stark <gsstark@mit.edu>)
Responses Re: Block-level CRC checks  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: Block-level CRC checks  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, Dec 4, 2009 at 1:35 PM, Greg Stark <gsstark@mit.edu> wrote:
> If we lose vacuum full then the table's open for reducing the width of
> command id too if we need more bits.  If we do that and we moved
> everything we could to the line pointers including ctid we might just
> be able to squeeze the tuple overhead down to 16 bytes.

I'm not sure why I said "including ctid". We would have to move
everything transactional to the line pointer, including xmin, xmax,
ctid, all the hint bits, the updated flags, hot flags, etc. The only
things left in the tuple header would be things that have to be there
such as HAS_OIDS, HAS_NULLS, natts, hoff, etc. It would be a pretty
drastic change, though a fairly logical one. I recall someone actually
submitted a patch to separate out the transactional bits anyways a
while back, just to save a few bytes in in-memory tuples. If we could
save on disk-space usage it would be a lot more compelling. But it
doesn't look to me like it really saves enough often enough to be
worth so much code churn.

--
greg


pgsql-hackers by date:

Previous
From: Greg Stark
Date:
Subject: Re: Block-level CRC checks
Next
From: "Greg Sabino Mullane"
Date:
Subject: Re: [CORE] EOL for 7.4?