Re: heapam_index_build_range_scan's anyvisible

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: heapam_index_build_range_scan's anyvisible
Дата
Msg-id 20190607212603.GA26702@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: heapam_index_build_range_scan's anyvisible  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
On 2019-Jun-07, Robert Haas wrote:

> Yeah, I wondered whether SnapshotNonVacuumable might've been added
> later, but I was too lazy to check the commit log.  I'll try coding up
> that approach and see how it looks.

Thanks.

> But do you have any comment on the question of whether this function
> is actually safe with < ShareLock, per the comments about caching
> HOT-related state across buffer lock releases?

Well, as far as I understand we do hold a buffer pin on the page the
whole time until we abandon it, which prevents HOT pruning, so the root
offset cache should be safe (since heap_page_prune requires cleanup
lock).  The thing we don't keep held is a buffer lock, so I/U/D could
occur, but those are not supposed to be hazards for the BRIN use, since
that's covered by the anyvisible / SnapshotNonVacuumable
hack^Wtechnique.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: heapam_index_build_range_scan's anyvisible
Следующее
От: Daniel Gustafsson
Дата:
Сообщение: Re: tableam: abstracting relation sizing code