Re: Running out of memory while making a join

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Carlos Henrique Reimer <carlos(dot)reimer(at)opendb(dot)com(dot)br>
Cc: Craig Ringer <craig(at)2ndquadrant(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Running out of memory while making a join
Date: 2012-11-13 19:51:15
Message-ID: 28666.1352836275@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Carlos Henrique Reimer <carlos(dot)reimer(at)opendb(dot)com(dot)br> writes:
> That is what I got from gdb:

> ExecutorState: 11586756656 total in 1391 blocks; 4938408 free (6
> chunks); 11581818248 used

So, query-lifespan memory leak. After poking at this for a bit, I think
the problem has nothing to do with joins; more likely it's because you
are returning a composite column:

select wm_nfsp from "5611_isarq".wm_nfsp ...

I found out that record_out() leaks sizable amounts of memory, which
won't be recovered till end of query. You could work around that by
returning "select wm_nfsp.*" instead, but if you really want the result
in composite-column notation, I'd suggest applying this patch:
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c027d84c81d5e07e58cd25ea38805d6f1ae4dfcd

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Paul Jungwirth 2012-11-13 22:08:17 window functions in an UPDATE
Previous Message Jeff Janes 2012-11-13 18:31:24 Re: Enabling Autovacuum Postgres 9.1 (was Unexpectedly high disk space usage)