From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | "francisco (dot)" <francisco(dot)cpp(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: out of memory |
Date: | 2007-03-08 22:09:14 |
Message-ID: | 20070308220914.GD4715@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
francisco . escribió:
> mi consulta es la sgte.:
>
> ingreso una consulta a una bd en postgresql a travez de psql y me arroja el
> siguiente error
> "out of memory for query result", a mi entender la cantidad de memoria o
> buffers (en realidad no se)
> para el resultado devuelto por la consulta es mayor a la capacidad soportada
> por esta
> ¿o me equivoco?,
Ojo, este problema es del lado del cliente (psql), no del servidor. Si
necesitas procesar una consulta cuyo resultado es muy grande, mejor usa
un cursor y haz FETCH en pedazos pequeños.
> ¿cuanto puede soportar(en tamaño) el resultado de una consulta?
En el servidor, infinito porque los resultados se mandan como un flujo y
no todos en bloque. A menos que haya que hacer un ordenamiento entre
medio, en cuyo caso usara el disco si el resultado es mas grande que
work_mem.
En el cliente, depende de como lo hagas. Si usas un cursor, supongo
que el maximo debe ser 2^32 registros o algun limite asi ridiculamente
grande. Si no usas un cursor, depende de la cantidad de memoria que
haya en la maquina.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Gabriel Colina | 2007-03-08 22:40:01 | Re: AYUDA |
Previous Message | Mario | 2007-03-08 21:49:58 | Re: out of memory |