Re: backend crash on DELETE, reproducible locally
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Ondřej Bouda <obouda@email.cz>, Alvaro Herrera <alvherre@2ndquadrant.com>, pgsql-hackers@lists.postgresql.org, pgsql-general@lists.postgresql.org
Date: 2018-11-06T21:54:57Z
Lists: pgsql-hackers, pgsql-general
On 2018-11-06 16:47:20 -0500, Tom Lane wrote: > =?UTF-8?Q?Ond=c5=99ej_Bouda?= <obouda@email.cz> writes: > >> Ondřej, as a short-term workaround you could prevent the crash > >> by setting that index's recheck_on_update property to false. > > > Thanks for the tip. I am unsuccessful using it, though: > > # ALTER INDEX public.schedulecard_overlap_idx SET (recheck_on_update = > > FALSE); > > ERROR: unrecognized parameter "recheck_on_update" > > Oh, for crying out loud. That's yet a different bug. > I'm not sure that it's the fault of the recheck_on_update > feature proper though; it might be a pre-existing bug in > the reloptions code. Looks like somebody forgot to list > RELOPT_KIND_GIST in RELOPT_KIND_INDEX, but is that the > fault of commit c203d6cf8 or was it busted before? Looks new: + RELOPT_KIND_INDEX = RELOPT_KIND_BTREE|RELOPT_KIND_HASH|RELOPT_KIND_GIN|RELOPT_KIND_SPGIST, there aren't any other "for all indexes" type options, so the whole category didn't exist before. It also strikes me as a really bad idea, even if RELOPT_KIND_GIST wouldn't have been omitted: It breaks index am extensibility. Greetings, Andres Freund
Commits
-
Disable recheck_on_update optimization to avoid crashes.
- 05f84605dbeb 11.1 landed
- 5d28c9bd73e2 12.0 landed
-
Allow HOT updates for some expression indexes
- c203d6cf81b4 11.0 cited