| From: | Andres Freund <andres(at)anarazel(dot)de> |
|---|---|
| To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
| Cc: | Peter Geoghegan <pg(at)bowt(dot)ie>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Mark Dilger <mark(dot)dilger(at)enterprisedb(dot)com> |
| Subject: | Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl? |
| Date: | 2022-04-04 18:16:51 |
| Message-ID: | 20220404181651.5dhzlspedoekxu4b@alap3.anarazel.de |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
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.
Greetings,
Andres Freund
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Dunstan | 2022-04-04 18:19:56 | Re: JSON constructors and window functions |
| Previous Message | Mark Dilger | 2022-04-04 18:09:45 | Re: New Object Access Type hooks |