James Im wrote:
Hi,

I'm using Postgresql 8.1 on windows2000 and I have a hard time
understanding how to limit the memory of the sessions to 1 MB.

Well, you don't explicitly, but see below.

What I have right now is that each connection (opened with jdbc) takes
about 3MB (some take a little more, some a little less). I think that
this is a waste of memory (am-I wrong?).

Depends what you mean by "waste". If you never use those connections, then yes. Otherwise, each connection does need a little space to work in you know.

I've read the doc
(http://www.postgresql.org/docs/8.1/static/runtime-config-resource.html)
for work_mem  and temp_buffers and they have this value:

work_mem = 1024
temp_buffers = 100

What am I missing to limit the memory taken by session to 1MB?

You can't. In particular, work_mem is memory *per sort* so can be several times that. If you're trying to get PG to run in 64MB or something like that, I think you're going to be disappointed. In particular, large result sets will tend to need more than 1MB at either the server or client end of the connection.

Is there a particular problem you're trying to solve?

In addition I'd like to understand better temp_buffers. I never create
temporary tables but I wonder if postgresql does it behind the scene
when I do some big selects.

Various operations will spill to disk in a similar manner to a temporary table, but they're not tables per-se.

--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
      choose an index scan if your joining column's datatypes do not
      match

Reply via email to