after investigation, I have to reformulate :
The actual memory is freed after each call of spi_finish, which is cool.
However the global amount of virtual memory used by the process does not
decrease until the last spi_finish. I get :
ERROR: out of memory
DETAIL: Failed on request of size 10.
....unless I set the virtual memory up to more than 2 gigs. Why isn't it
freed ?
My config is :
windows 2000, P3, 256 Mo ram.
Tom Lane <tgl (AT) sss (DOT) pgh.pa.us>
Envoyé par : pgsql-general-owner (AT) postgresql (DOT) org
03/03/2004 16:08
Pour : bsimon (AT) loxane (DOT) com
cc : pgsql-general (AT) postgresql (DOT) org
Objet : Re: [GENERAL] SPI memory managment issue
bsimon (AT) loxane (DOT) com writes:
Quote:
The thing is that I do another spi_connect inside all subqueries (query1
... query10) and the memory allocated inside all "subcontext" doesn't
seems to be freed until the last call of spi_finish. (the one of the
"big" function). |
No, spi_finish frees memory used in that particular SPI invocation.
What's your evidence for thinking otherwise?
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
http://archives.postgresql.org