Teodor Sigaev wrote: > > Alvaro Herrera wrote: > > I don't quite understand the new call in gininsert -- I mean I see that > > it wants to check for conflicts even when fastupdate is set, but why? > If fastupdate is set then we check conflict with whole index, not a > particular pages in it. Predicate lock on penging list pages will be > effectively a lock over index, because every scan will begin from pending > list and each insert will insert into it. I
Oh, right, that makes sense. I'm not sure that the comments explain this sufficiently -- I think it'd be good to expand that. Given this patch, it seems clear that serializable mode is much worse with fastupdate than without it! -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services