[postgis-users] GEOS union() error

Kevin Neufeld kneufeld at refractions.net
Wed Nov 7 09:32:03 PST 2007


Hi Lee,
Glad to help.  Also, Paul R. was right before when he asked for your 
plans of what you plan on doing with this beast.  Your client really 
needs a single large multi-geometry object?  Any operations on this 
object will be very very slow and any gist indexes on the object will be 
practically useless.  Is simply buffering your lines into polygons not 
what you're after? 

If you still really want a single object, you could try to break your 
problem into two.   Try collecting and buffering half at a time into two 
large geometry objects.  Then use ST_Union() or ST_MemUnion() to merge 
the two together.  You may end up with the same error since you still at 
some point have to put your entire geometry object into memory ... but 
worth a try.

Cheers,
Kevin

Lee Keel wrote:
> Kevin,
>
> Thanks for that insight!  I have been looking for something like those
> explanations for a while.  The good news is that they fixed the ability to
> do the collect on the whole table, but the bad news is that they still did
> not fix the St9bad_alloc error.  My settings are below.  I tried to bump the
> shared_buffers up more and couldn't get the service to start.  Also couldn't
> get the service to start if enabled temp_buffers.  But as you stated, I
> don't think temp_buffers is going to help me here because I am not using
> temp tables.
>
> shared_buffers = 1200MB			# min 128kB or max_connections*16kB
> #temp_buffers = 16MB			# min 800kB
> work_mem = 150MB				# min 64kB
> maintenance_work_mem = 250MB		# min 1MB
>
> Any more ideas?
>
> -LK
>   



More information about the postgis-users mailing list