Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl? - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl?
Date
Msg-id CA+Tgmoa4XaTV9Tr9yfJSGuHKmGG6OP+SiiG+XUq89F+sD4hEuw@mail.gmail.com
Whole thread Raw
In response to Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl?  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Mon, Apr 4, 2022 at 2:16 PM Andres Freund <andres@anarazel.de> wrote:
> On 2022-04-04 10:02:37 -0400, Robert Haas wrote:
> > It does a good job, I think, checking all the things that a human being
> > could potentially spot just by looking at an individual page.
>
> I think there's a few more things that'd be good to check. For example amcheck
> doesn't verify that HOT chains are reasonable, which can often be spotted
> looking at an individual page. Which is a bit unfortunate, given how many bugs
> we had in that area.
>
> Stuff to check around that:
> - target of redirect has HEAP_ONLY_TUPLE, HEAP_UPDATED set
> - In a valid ctid chain within a page (i.e. xmax = xmin):
>   - tuples have HEAP_UPDATED set
>   - HEAP_ONLY_TUPLE / HEAP_HOT_UPDATED matches across chains elements
>
> I think it'd also be good to check for things like visible tuples following
> invisible ones.

Interesting.

*takes notes*

-- 
Robert Haas
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: JSON constructors and window functions
Next
From: Mark Dilger
Date:
Subject: Re: New Object Access Type hooks