aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/execParallel.c
diff options
context:
space:
mode:
authorThomas Munro <tmunro@postgresql.org>2018-09-20 14:02:56 +1200
committerThomas Munro <tmunro@postgresql.org>2018-09-20 14:21:32 +1200
commit9d178fb928040f1a5ab5b566f1ec76d7ac554587 (patch)
tree2fcd77f89d2352b013920712bf2b76fa13b0ffdd /src/backend/executor/execParallel.c
parent6449616419c59c3223b3c4f731cefa3d77fac567 (diff)
downloadpostgresql-9d178fb928040f1a5ab5b566f1ec76d7ac554587.tar.gz
postgresql-9d178fb928040f1a5ab5b566f1ec76d7ac554587.zip
Defer restoration of libraries in parallel workers.
Several users of extensions complained of crashes in parallel workers that turned out to be due to syscache access from their _PG_init() functions. Reorder the initialization of parallel workers so that libraries are restored after the caches are initialized, and inside a transaction. This was reported in bug #15350 and elsewhere. We don't consider it to be a bug: extensions shouldn't do that, because then they can't be used in shared_preload_libraries. However, it's a fairly obscure hazard and these extensions worked in practice before parallel query came along. So let's make it work. Later commits might add a warning message and eventually an error. Back-patch to 9.6, where parallel query landed. Author: Thomas Munro Reviewed-by: Amit Kapila Reported-by: Kieran McCusker, Jimmy Discussion: https://postgr.es/m/153512195228.1489.8545997741965926448%40wrigleys.postgresql.org
Diffstat (limited to 'src/backend/executor/execParallel.c')
0 files changed, 0 insertions, 0 deletions