Re: Re: ERROR: XX000: cannot update SecondarySnapshot during aparallel operation
От | Julien Rouhaud |
---|---|
Тема | Re: Re: ERROR: XX000: cannot update SecondarySnapshot during aparallel operation |
Дата | |
Msg-id | CAOBaU_ZVGmy77o_9bV3te0PXZ58j2XssWJ3QukNKOSb=Y78N7g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re:Re: ERROR: XX000: cannot update SecondarySnapshot during aparallel operation (fuzk <fuzk80_76@163.com>) |
Ответы |
Re: ERROR: XX000: cannot update SecondarySnapshot during a paralleloperation
|
Список | pgsql-general |
On Thu, Mar 14, 2019 at 1:20 PM fuzk <fuzk80_76@163.com> 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@aklaver.com> 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.
В списке pgsql-general по дате отправления: