[postgis-users] Points not in Polygons and 'jointype 5 not supported'

Lauri Kajan lauri.kajan at gmail.com
Mon Aug 11 23:52:16 PDT 2014

Hi all,

I'm trying to figure out an optimal query to find points in a table that
are not in any polygons.
My points table contains 3,7 million points and 6000 polygons.

My goal is to find points from certain area that are not contained by
polygons. Here is my current query:
*  select*
*  from*
*   points*
*  where not exists(*
*    select * from polygons where st_contains(polygons.geom, points.geom)*
*  )*
*  and points.geom && 'BOX(425930 7197112, 429605.074 7200582.906)'::BOX2D;*

I'm getting following notice from PostGIS:
*NOTICE:  gserialized_gist_joinsel: jointype 5 not supported*
What I have understood is that query works ok but the query plan might not
be optimal.

Is there something to do to improve this?

Here is the explain analyze results:
"Nested Loop Anti Join  (cost=18.83..3356.77 rows=809 width=36) (actual
time=3.986..438.047 rows=272 loops=1)"
"  ->  Bitmap Heap Scan on points  (cost=18.68..1540.86 rows=809 width=36)
(actual time=0.724..2.955 rows=1452 loops=1)"
"        Recheck Cond: (geom &&
"        ->  Bitmap Index Scan on points_geom  (cost=0.00..18.48 rows=809
width=0) (actual time=0.699..0.699 rows=1452 loops=1)"
"              Index Cond: (geom &&
"  ->  Index Scan using polygons_geom on polygons  (cost=0.15..2.23 rows=1
width=4361) (actual time=0.296..0.296 rows=1 loops=1452)"
"        Index Cond: (geom && points.geom)"
"        Filter: _st_contains(geom, points.geom)"
"        Rows Removed by Filter: 0"
"Total runtime: 438.491 ms"

I appreciate all your help!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20140812/f9a84c6a/attachment.html>

More information about the postgis-users mailing list