Re: REINDEX CONCURRENTLY unexpectedly fails
От | Andres Freund |
---|---|
Тема | Re: REINDEX CONCURRENTLY unexpectedly fails |
Дата | |
Msg-id | 20191113163851.e2enkdpvd3nrobst@alap3.anarazel.de обсуждение исходный текст |
Ответ на | Re: REINDEX CONCURRENTLY unexpectedly fails (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: REINDEX CONCURRENTLY unexpectedly fails
|
Список | pgsql-bugs |
Hi, On 2019-11-13 10:59:08 -0500, Tom Lane wrote: > Andres Freund <andres@anarazel.de> writes: > > On 2019-11-13 15:29:53 +0100, Manuel Rigger wrote: > >> On the latest trunk version, I get an error "index "t0_pkey_ccnew" > >> already contains data" when using REINDEX CONCURRENTLY: > >> > >> CREATE TEMP TABLE t0(c1 INT PRIMARY KEY) ON COMMIT DELETE ROWS; > >> REINDEX TABLE CONCURRENTLY t0; -- unexpected: ERROR: index > >> "t0_pkey_ccnew" already contains data > > > It think we really ought to just refuse CIC (and thereby REINDEX > > CONCURRENTLY) for ON COMMIT DELETE/DROP temp tables. Given that CIC > > internally uses transactions, it makes no sense to use CIC on such a > > table. > > It's not real clear why there would be any point in (RE)INDEX > CONCURRENTLY on a temp table anyway, since no other session could > be using it. Right. I guess it's not necessarily always clear in all contexts that one is dealing with a temp table, rather than a normal table. > +1 for just erroring out, rather than working hard to support such a > case. I wonder if we instead ought to just ignore the CONCURRENTLY when targetting a temp table? That'd be a correct optimization for temp tables, and would fix the issue at hand... Greetings, Andres Freund
В списке pgsql-bugs по дате отправления: