Hi all, I have a fairly simple query, running on a particularly large table. For illustration: echo "select * from really_big_table;" | psql my_database > /dev/null When I monitor the memory usage of the psql session, it continually grows. In fact, for this particularly large table – it grows to the point of consuming all swap, before the OOM killer takes steps to resolve it. Clearly, this isn't what I'd like to happen. My settings are: Postgresql 9.1.9 work_mem = 256MB effective_cache_size = 12GB shared_buffers = 6GB I have 24GB physical ram to play with. Regardless of these settings however, I'm surprised that psql wouldn't release that memory as it flushes each record, but maybe I've misunderstood how memory usage works on the client side. |