Re: backend crash on DELETE, reproducible locally

Ondřej Bouda <obouda@email.cz>

From: Ondřej Bouda <obouda@email.cz>
To: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: pgsql-hackers@lists.postgresql.org, pgsql-general@lists.postgresql.org
Date: 2018-11-06T21:37:32Z
Lists: pgsql-hackers, pgsql-general
> 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"


Creating a new index is wrong, too:

# CREATE INDEX schedulecard_overlap_idx2
     ON public.schedulecard USING gist
     (scheduletemplate_id, (period_day::integer % 7), timerange)
     WITH (recheck_on_update = FALSE);

ERROR:  unrecognized parameter "recheck_on_update"


It only succeeds if not USING gist:

# CREATE INDEX schedulecard_overlap_idx2
     ON public.schedulecard
     (scheduletemplate_id, (period_day::integer % 7), timerange)
     WITH (recheck_on_update = FALSE);

CREATE INDEX


Is there any other workaround for a gist index, please?
Maybe we will just drop the index until the bug gets fixed - better slow 
queries than crashing servers...

Thanks,
Ondřej Bouda




Commits

  1. Disable recheck_on_update optimization to avoid crashes.

  2. Allow HOT updates for some expression indexes