Re: Unsplitting btree index leaf pages

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Unsplitting btree index leaf pages
Дата
Msg-id 26260.1135282288@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Unsplitting btree index leaf pages  (Alvaro Herrera <alvherre@commandprompt.com>)
Ответы Re: Unsplitting btree index leaf pages  (Kevin Brown <kevin@sysexperts.com>)
Список pgsql-hackers
Alvaro Herrera <alvherre@commandprompt.com> writes:
> We already do something similar for page deletions.  Empty pages are not
> deleted right away, but they are marked with BTP_DEAD, and then deleted
> on a subsequent vacuum.  Or something like that, I don't remember the
> exact details.

Right, and the reason for that is exactly that there might be a
concurrent indexscan already "in flight" to the newly-dead page.
We must wait to recycle the page until we are certain no such scans
remain.

It doesn't matter whether a concurrent indexscan visits the dead
page or not, *because it's empty* and so there's nothing to miss.
So there's no race condition.  But if you try to move valid data
across pages then there is a race condition.
        regards, tom lane


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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: WAL bypass for INSERT, UPDATE and DELETE?
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Automatic function replanning