Re: ERROR: Memory exhausted in AllocSetAlloc(188)
От | Jim C. Nasby |
---|---|
Тема | Re: ERROR: Memory exhausted in AllocSetAlloc(188) |
Дата | |
Msg-id | 20030521204921.GP40542@flake.decibel.org обсуждение исходный текст |
Ответ на | Re: ERROR: Memory exhausted in AllocSetAlloc(188) (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: ERROR: Memory exhausted in AllocSetAlloc(188)
|
Список | pgsql-general |
On Wed, May 21, 2003 at 04:39:18PM -0400, Tom Lane wrote: > "Jim C. Nasby" <jim@nasby.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 ... Ugh... would two triggers double that? Where can I get more info on what's happening under the covers here, especially on what a deferred trigger is? -- Jim C. Nasby (aka Decibel!) jim@nasby.net Member: Triangle Fraternity, Sports Car Club of America Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?"
В списке pgsql-general по дате отправления: