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
|
Список | 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 по дате отправления: