Skip site navigation (1) Skip section navigation (2)

Agotamiento del Espacio en Disco al Ejecutar Conulta

From: A J <anxusgo(at)hotmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Agotamiento del Espacio en Disco al Ejecutar Conulta
Date: 2012-02-08 11:45:09
Message-ID: SNT130-W371A85463BBDD9DFF79FBB67A0@phx.gbl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda



Buenos días compañeros:
Hace tiempo tuve un problema "similar" que mandé a la lista y que resultó ser un fallo en el diseño de una consulta. Ahora me sucede algo parecido con una consulta lanzada en PostgreSQL, pero no creo que tenga que ver con el diseño de la consulta. Les comento de forma detallada.
Tengo instalado Postgres 8.4 en un portátil con sistema operativo Windows 7, un procesador de doble núcleo (1.3 GHz) y 4 GB de memoria RAM. He estado manejando grandes cantidades de datos en Postgres hasta el momento (tablas de 20, 30 o 100 millones de tuplas) sin ningún tipo de problemas, incluso haciendo diferentes JOINS. Sin embargo, llevo un par de días atascado con una consulta en la que pretendo realizar un INNER JOIN entre dos tablas. La primera de ellas cuenta con alrededor de 150 millones de tuplas, y la segunda con aproximadamente 130 millones. El asunto es que cuando Postgres se dispone a realizar la consulta consume todo el espacio de disco que me queda en el PC, y por esta razón, no puede finalizar el cálculo de la consulta.
El espacio libre en disco que tengo en el PC asciende a 150 GBs, por lo que me parece suficiente para que Postgres pueda realizar la consulta. Más aún, cuando anteriormente he podido realizar consultas similares a ésta sin ningún tipo de problema. Es por esto último por lo que me da que pensar que algo no está funcionando bien en mi server. Podría deberse a una configuración errónea en el archivo postgres.conf? Les detallo aquí las tablas que intervienen en la consulta y el código sql de dicha consulta:
Tablas utilizadas en la consulta:
TABLA: normalized_coup -- alrededor de 150 millones de registros   IDJ_ORIG bigint   IDJ_DEST bigint   COUPLING bigint   IDJ_SAHRED bigint
TABLA: normalized_cocit -- alrededor de 130 millones de registros   IDJ_ORIG bigint   IDJ_DEST bigint   COCITATION bigint   IDJ_SAHRED bigintCódigo SQL utilizado en la consulta:
SELECT   normalized_coup."IDJ_ORIG",   normalized_coup."IDJ_DEST",   normalized_cocit."COCITATION",   normalized_coup."COUPLING"INTO  JOIN_coup_cocitFROM   normalized_coup INNER JOIN normalized_cocit ON (normalized_coup."IDJ_ORIG" = normalized_cocit."IDJ_ORIG") AND  (normalized_coup."IDJ_DEST" = normalized_cocit."IDJ_DEST") ;
Por si sirve de ayuda, cuando ejecuto la consulta, me voy al Monitor de Recursos de Windows y en la parte de Disco he comprobado que la E/S de Disco oscila entre 15-25 Mb/s. También me parece raro que si activas en el Monitor de Recursos los procesos en funcionamiento en el equipo, donde podría visualizarse el uso de CPU, Disco..., que realiza Potgres, no veo ninguna línea en el gráfico que señale la cantidad de disco que está realmente utilizando Postgres (con otras consultas, si que lo he podido apreciar). Además, no ocurre lo mismo con los procesos asociados a la CPU, donde si puedo apreciar el uso que Postgres está haciendo de ella. Por último el uso de la RAM muestra valores oscilando entre los 200 MB y los 400 MB aproximadamente.
Bueno, pues espero haberme explicado bien y no liar más al personal. Hago constar también que no soy usuario avanzado de Postgres, sólo soy un usuario que maneja consultas en SQL que es para lo que lo necesito realmente.
Saludos y muchísimas gracias de antemano por vuestra atención!
Antonio J.
 		 	   		  

Responses

pgsql-es-ayuda by date

Next:From: Leonel Fuentes MarreroDate: 2012-02-08 13:25:33
Subject: Problema para construir una funcion dinamicamente
Previous:From: gorkaDate: 2012-02-08 11:29:23
Subject: Re: transacciones dentro de una transaccion

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group