Re: ERROR: Memory exhausted in AllocSetAlloc(188)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: jim(at)nasby(dot)net
Cc: Martijn van Oosterhout <kleptog(at)svana(dot)org>, pgsql-general(at)postgresql(dot)org
Subject: Re: ERROR: Memory exhausted in AllocSetAlloc(188)
Date: 2003-05-21 20:39:18
Message-ID: 11768.1053549558@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

"Jim C. Nasby" <jim(at)nasby(dot)net> writes:
> On Tue, May 20, 2003 at 12:58:41AM -0400, Tom Lane wrote:
>> How many rows would you expect this command to insert?
>>
>> You might be running into the fact that pending-trigger-call lists are
>> kept in memory, but it's hard to tell without knowing the number of
>> rows involved...

> 35M

Each pending deferred-trigger action takes about 40 bytes + palloc
overhead, probably 48 bytes altogether ... 48 * 35M comes to 1.68G, so
that's exactly where your problem is. I'd suggest trying to commit the
changes in smaller batches ...

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jim C. Nasby 2003-05-21 20:49:21 Re: ERROR: Memory exhausted in AllocSetAlloc(188)
Previous Message Richard Gration 2003-05-21 19:47:49 Unique index hassles

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim C. Nasby 2003-05-21 20:49:21 Re: ERROR: Memory exhausted in AllocSetAlloc(188)
Previous Message Jim C. Nasby 2003-05-21 19:17:48 Re: ERROR: Memory exhausted in AllocSetAlloc(188)