On Thu, Mar 14, 2019 at 3:25 PM Adrian Klaver <adrian.klaver@xxxxxxxxxxx> wrote: > > On 3/14/19 6:14 AM, Julien Rouhaud wrote: > > On Thu, Mar 14, 2019 at 1:20 PM fuzk <fuzk80_76@xxxxxxx> wrote: > >> > >> Dear Adrian, > >> > >> My setting is as following. > >> > >> max_parallel_workers_per_gather=32 > >> > >> I am looking forward to hearing from you. > > > > What version of postgres and what version of postgis are you using ? > > > >> At 2019-03-13 22:31:11, "Adrian Klaver" <adrian.klaver@xxxxxxxxxxx> wrote: > >>> On 3/12/19 7:54 PM, fuzk wrote: > >>>> postgres=# \set VERBOSITY verbose > >>>> postgres=# SELECT > >>>> round(cast(coalesce(sum(ST_length(geography(geometry)))/1000,0) as > >>>> NUMERIC),4)||'KM' field_value from had_link; > >>>> > >>>> ERROR: XX000: cannot update SecondarySnapshot during a parallel operation > >>>> CONTEXT: SQL statement "SELECT proj4text FROM public.spatial_ref_sys > >>>> WHERE srid = 4326 LIMIT 1" > >>>> parallel worker > >>>> LOCATION: GetLatestSnapshot, snapmgr.c:387 > > > > I'm not familiar at all with geography, but if I read the code > > correctly, ST_Length / geography_length will call > > spheroid_init_from_srid(), which eventuallly calls GetProj4StringSPI() > > that run a query using SPI. I'm not sure why exactly > > GetLatestSnapshot() is called here, or if SPI is really allowed in > > parallel workers, but that's the problem here apparently. I'm adding > > Paul as he'll probably have a way better answer than me. > > > > https://trac.osgeo.org/postgis/ticket/4129 > "Cannot update SecondarySnapshot during a parallel operation" Ah, I didn't look there indeed, thanks! So postgis people are already aware, that's a good news.