Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl?

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl?
Дата
Msg-id 20220404181651.5dhzlspedoekxu4b@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl?  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: Run pg_amcheck in 002_pg_upgrade.pl and 027_stream_regress.pl?  (Robert Haas <robertmhaas@gmail.com>)
Список 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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Mark Dilger
Дата:
Сообщение: Re: New Object Access Type hooks
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: JSON constructors and window functions