Re: [DOCS] HOT - correct claim about indexes not referencing old line pointers

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: [DOCS] HOT - correct claim about indexes not referencing old line pointers
Дата
Msg-id CAKFQuwYyY992nPr_L=aQt4+8jcg5H9OoHGAH_bSsUni4ssum-g@mail.gmail.com
обсуждение исходный текст
Ответ на [DOCS] HOT - correct claim about indexes not referencing old line pointers  (James Coleman <jtc331@gmail.com>)
Список pgsql-hackers
On Fri, Sep 29, 2023 at 10:45 AM James Coleman <jtc331@gmail.com> wrote:
Hello,

While working on my talk for PGConf.NYC next week I came across this
bullet in the docs on heap only tuples:

> Old versions of updated rows can be completely removed during normal
> operation, including SELECTs, instead of requiring periodic vacuum
> operations. (This is possible because indexes do not reference their page
> item identifiers.)

But when a HOT update happens the entry in an (logically unchanged)
index still points to the original heap tid, and that line item is
updated with a pointer to the new line pointer in the same page.

Assuming I'm understanding this correctly, attached is a patch
correcting the description.


I think we want to somehow distinguish between the old tuple that is the root of the chain and old tuples that are not.  This comment refers to pruning the chain and removing intermediate links in the chain that are no longer relevant because the root has been updated to point to the live tuple.  In README.HOT, tuple 2 in the example after 1 points to 3.


David J.

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

Предыдущее
От: James Coleman
Дата:
Сообщение: [DOCS] HOT - correct claim about indexes not referencing old line pointers
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: [DOCS] HOT - correct claim about indexes not referencing old line pointers