[postgis-users] ST_Intersects(geom, geom) Memory issue

Andreas Forø Tollefsen andreasft at gmail.com
Fri Feb 3 02:44:32 PST 2012


Hi again...

Downgraded to revision 8001 and the query works.

Query returned successfully: 162082 rows affected, 114992 ms execution time.

Andreas

2012/2/3 Andreas Forø Tollefsen <andreasft at gmail.com>

> Hi again,
>
> I have a issue with the server crashing when running a simple query i have
> been using together with previous versions of postgis on the same system.
> The query intersects two tables with geometry. While i never have had
> problems with this query before, it is now terminates my postgresql server.
> It used to take ~5 min to complete, but now it terminates after 2 minutes.
> When running the query i can see using top that memory rises to 96 %
> before terminating the postgreql service.
>
> My setup is Intel(R) Xeon(R) CPU E31270 @ 3.40GHz with 12GB of ram running:
>                                                     version
>
> ----------------------------------------------------------------------------------------------------------------
>  PostgreSQL 9.1.1 on x86_64-pc-linux-gnu, compiled by gcc-4.6.real
> (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1, 64-bit
> (1 row)
>
> postgis_full_version
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>  POSTGIS="2.0.0alpha4SVN" GEOS="3.4.0dev-CAPI-1.8.0" PROJ="Rel. 4.7.1, 23
> September 2009" GDAL="GDAL 1.9.0, released 2011/12/29" LIBXML="2.7.8"
> USE_STATS
> (1 row)
> shared_buffers = 4GB                    # min 128kB
> temp_buffers = 64MB                     # min 800kB
> work_mem = 64MB                 # min 64kB
> maintenance_work_mem = 512MB            # min 1MB
>
> Running the query:
> DROP TABLE IF EXISTS geoepr_cell;
> SELECT a.gid, g.startyear, g.endyear, g.cowgroup, a.gridyear INTO
> geoepr_cell
> FROM priogridall a, priogrid p, geoepreth2 g WHERE a.gid = p.gid AND
> a.gridyear = 1946 AND a.gwcode = g.cowcode AND ST_Intersects(p.cell, g.geom)
> AND g.startyear <= 1946 AND g.endyear >= 1946 GROUP BY a.gid, g.startyear,
> g.endyear, g.cowgroup, a.gridyear ORDER BY gid ;
> terminates the server with the below messages. I have used the
> query previously without problems, but after updating to latest subversion
> it do not work anymore. I am suspecting there is some memory issue.
> I tried reducing the shared_buffers and disabling memory overcommit
> (bottom: http://www.postgresql.org/docs/9.1/static/kernel-resources.html).
>
> Any help on this would be very much welcome.
>
> All the best,
> Andreas
>
> Log:
>
> 2012-02-03 09:27:01 CET DETAIL:  The postmaster has commanded this server
> process to roll back the current transaction and exit, because another
> server process exited abnormally and possibly corrupted shared memory.
> 2012-02-03 09:27:01 CET HINT:  In a moment you should be able to reconnect
> to the database and repeat your command.
> 2012-02-03 09:27:02 CET LOG:  all server processes terminated;
> reinitializing
> 2012-02-03 09:27:03 CET LOG:  database system was interrupted; last known
> up at 2012-02-03 09:25:37 CET
> 2012-02-03 09:27:04 CET LOG:  database system was not properly shut down;
> automatic recovery in progress
> 2012-02-03 09:27:04 CET LOG:  consistent recovery state reached at
> 7F/E90EF588
> 2012-02-03 09:27:04 CET LOG:  record with zero length at 7F/E90EF588
> 2012-02-03 09:27:04 CET LOG:  redo is not required
> 2012-02-03 09:27:04 CET LOG:  database system is ready to accept
> connections
> 2012-02-03 09:27:04 CET LOG:  autovacuum launcher started
> 2012-02-03 09:30:07 CET LOG:  incomplete startup packet
> 2012-02-03 09:30:08 CET LOG:  received fast shutdown request
> 2012-02-03 09:30:08 CET LOG:  aborting any active transactions
> 2012-02-03 09:30:09 CET LOG:  autovacuum launcher shutting down
> 2012-02-03 09:30:09 CET FATAL:  terminating connection due to
> administrator command
> 2012-02-03 09:30:09 CET FATAL:  terminating connection due to
> administrator command
> 2012-02-03 09:30:09 CET STATEMENT:  DROP TABLE IF EXISTS geoepr_cell;
>         SELECT a.gid, g.startyear, g.endyear, g.cowgroup, a.gridyear INTO
> geoepr_cell
>         FROM priogridall a, priogrid p, geoepreth2 g WHERE a.gid = p.gid
> AND a.gridyear = 1946 AND a.gwcode = g.cowcode AND ST_Intersects(p.cell,
> g.geom)
>         AND g.startyear <= 1946 AND g.endyear >= 1946 GROUP BY a.gid,
> g.startyear, g.endyear, g.cowgroup, a.gridyear ORDER BY gid ;
> 2012-02-03 09:31:09 CET LOG:  received immediate shutdown request
> 2012-02-03 09:31:09 CET WARNING:  terminating connection because of crash
> of another server process
> 2012-02-03 09:31:09 CET DETAIL:  The postmaster has commanded this server
> process to roll back the current transaction and exit, because another
> server process exited abnormally and possibly corrupted shared memory.
> 2012-02-03 09:31:09 CET HINT:  In a moment you should be able to reconnect
> to the database and repeat your command.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20120203/4348c886/attachment.html>


More information about the postgis-users mailing list