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"
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx