Thread: pgsql: Avoid crashing if relcache flush occurs while trying to load data
pgsql: Avoid crashing if relcache flush occurs while trying to load data
From
tgl@postgresql.org (Tom Lane)
Date:
Log Message: ----------- Avoid crashing if relcache flush occurs while trying to load data into an index's support-function cache (in index_getprocinfo). Since none of that data can change for an index that's in active use, it seems sufficient to treat all open indexes the same way we were treating "nailed" system indexes --- that is, just re-read the pg_class row and leave the rest of the relcache entry strictly alone. The pg_class re-read might not be strictly necessary either, but since the reltablespace and relfilenode can change in normal operation it seems safest to do it. (We don't support changing any of the other info about an index at all, at the moment.) Back-patch as far as 8.0. It might be possible to adapt the patch to 7.4, but it would take more work than I care to expend for such a low-probability problem. 7.3 is out of luck for sure. Tags: ---- REL8_1_STABLE Modified Files: -------------- pgsql/src/backend/utils/cache: relcache.c (r1.230.2.2 -> r1.230.2.3) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.230.2.2&r2=1.230.2.3)