On 11/16/2010 3:55 PM, Jorge Arévalo wrote:
Hello, I'm getting an error message in my Python script: pg.ProgrammingError: ERROR: out of memory DETAIL: Failed on request of size 16. The query that caused the error was: UPDATE table1 SET string = (SELECT string FROM table2 WHERE ST_Centroid(table1.wkb_geometry)&& table2. the_geom AND (ST_Distance(ST_Centroid(table1.wkb_geometry), table2.the_geom)<=0) LIMIT 1 OFFSET 0) WHERE string is null; table1: a table with one geometry column of type "polygon" (square polygons). 1277500 rows. table2: a table with one geometry column of type "polygon". A few rows (12). Both geometry columns have gist indexes over them. This query was executed inside a loop, with another 10 similar queries, using table1 against different tables (table2, table3, table4, etc). The error is not always produced in the same part of the loop (sometimes with table2, sometimes with table3...). I attach the relevant part of PostgreSQL log. My enviroment: Ubuntu 10.10, PostgreSQL 8.4, PostGIS 1.5.2, 2GB RAM Things I've tried: Increase the SHMMAX kernel variable from 32MB to 128MB. Increase SHMALL too. Change postgresql.conf parameters shared_buffers to 120MB, work_mem to 32MB, effective_cache_size to 128MB. Didn't work. I think it's a problem with data, because I've tested this other times with other data at worked. What could be happening? Many thanks in advance
Probably the OOM, google: postgres oom there are lots and lots of pages about it. -Andy -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general