Re: collect_corrupt_items_vacuum.patch

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: collect_corrupt_items_vacuum.patch
Дата
Msg-id 3107109.1658958956@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: collect_corrupt_items_vacuum.patch  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: collect_corrupt_items_vacuum.patch  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> In reality, the oldest all-visible XID cannot move backward, but
> ComputeXidHorizons() lets it move backward, because it's intended for
> use by a caller who wants to mark pages all-visible, and it's only
> concerned with making sure that the value is old enough to be safe.

Right.

> And that's a problem for the way that pg_visibility is (mis-)using it.

> To say that another way, ComputeXidHorizons() is perfectly fine with
> returning a value that is older than the true answer, as long as it
> never returns a value that is newer than the new answer. pg_visibility
> wants the opposite. Here, a value that is newer than the true value
> can't do worse than hide corruption, which is sort of OK, but a value
> that's older than the true value can report corruption where none
> exists, which is very bad.

Maybe we need a different function for pg_visibility to call?
If we want ComputeXidHorizons to serve both these purposes, then it
has to always deliver exactly the right answer, which seems like
a definition that will be hard and expensive to achieve.

            regards, tom lane



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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: collect_corrupt_items_vacuum.patch
Следующее
От: Jacob Champion
Дата:
Сообщение: Re: [Patch] ALTER SYSTEM READ ONLY