Re: GiST VACUUM
От
Heikki Linnakangas
Тема
Re: GiST VACUUM
Дата
Msg-id
f36887ce-b7fe-4957-3df6-f79507ed0917@iki.fi
Список
Дерево обсуждения
GiST VACUUM Andrey Borodin <x4mmm@yandex-team.ru>
Re: GiST VACUUM Thomas Munro <thomas.munro@enterprisedb.com>
Re: GiST VACUUM Andrey Borodin <x4mmm@yandex-team.ru>
Re: GiST VACUUM Heikki Linnakangas <hlinnaka@iki.fi>
Re: GiST VACUUM Andrey Borodin <x4mmm@yandex-team.ru>
Re: GiST VACUUM Heikki Linnakangas <hlinnaka@iki.fi>
Re: GiST VACUUM Andrey Borodin <x4mmm@yandex-team.ru>
Re: GiST VACUUM Andrey Borodin <x4mmm@yandex-team.ru>
Looking at the second patch, to scan the GiST index in physical order, that seems totally unsafe, if there are any concurrent page splits. In the logical scan, pushStackIfSplited() deals with that, by comparing the page's NSN with the parent's LSN. But I don't see anything like that in the physical scan code. I think we can do something similar in the physical scan: remember the current LSN position at the beginning of the vacuum, and compare with that. The B-tree code uses the "cycle ID" for similar purposes. Do we still need the separate gistvacuumcleanup() pass, if we scan the index in physical order in the bulkdelete pass already? - Heikki
В списке pgsql-hackers по дате отправления