On Mon, Jan 26, 2004 at 10:48:55AM +0000, Einar Indridason wrote:
> On Sat, Jan 24, 2004 at 09:29:12PM -0500, Bruce Momjian wrote:
> > I changed it to:
> >
> > NULLs are stored _as_ bitmaps
>
> Eh... good morning folks. I have been lurking on the postgreSQL lists
> for a while. Now when I read this, a question arise.
>
> Does postgres calculate some sort of a "checksum" over a row?
No.
> I mean... storing whether a field is NULL or not inside a single bit,
> seems slightly risky (especially when we consider how much of the
> hardware out there, is of marginal quality).
The visibility status of a row is also stored in a single bit. So single bit
errors may cause rows to become visible or invisible. Bit errors in length
fields will render a whole row unreadable. A single bit error in the page
header can make the entire page unreadable. This is not something you can
sensebly protect against.
> Would it be worth it to calculate some sort of a checksum over a row, and
> store that checksum along with the row?
There has been discussion about checksumming entire pages and AFAIK they are
in the WAL, I just don't think they in the main data store.
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
> (... have gone from d-i being barely usable even by its developers
> anywhere, to being about 20% done. Sweet. And the last 80% usually takes
> 20% of the time, too, right?) -- Anthony Towns, debian-devel-announce