Re: Should pg 11 use a lot more memory building an spgist index? - Mailing list pgsql-general

From Tom Lane
Subject Re: Should pg 11 use a lot more memory building an spgist index?
Date
Msg-id 25756.1540549213@sss.pgh.pa.us
Whole thread Raw
In response to Re: Should pg 11 use a lot more memory building an spgist index?  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
List pgsql-general
Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> writes:
> On 2018/10/26 18:59, Tom Lane wrote:
>> After a quick look around, I think that making systable_begin/endscan
>> do this is a nonstarter; there are just too many call sites that would
>> be affected.  Now, you could imagine specifying that indexes on system
>> catalogs (in practice, only btree) have to clean up at endscan time
>> but other index types don't, so that only operations that might be
>> scanning user indexes need to have suitable wrapping contexts.  Not sure
>> there's a lot of benefit to that, though.

> By "core code", I didn't mean systable_being/endscan, but rather
> check_exclusion_or_unique_constraint() or its core-side caller(s).

Well, we'd need to consider any call path leading to index_endscan.
One of those is systable_endscan and its multitude of callers.  It seems
unlikely that you could just switch context in systable_beginscan
without breaking many of the callers.

If we forbade leaks in system catalog index AMs, then the number of
places that would need work would be manageable (about 3, it looked
like).  But then it seems more like a wart than a real API improvement.

            regards, tom lane


pgsql-general by date:

Previous
From: Amit Langote
Date:
Subject: Re: Should pg 11 use a lot more memory building an spgist index?
Next
From: Олег Самойлов
Date:
Subject: Re: Strange behavior of the random() function