Re: foreign keys and memory consumption

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: Jan Poslusny <pajout(at)gingerall(dot)cz>
Cc: PgSQL General ML <pgsql-general(at)postgresql(dot)org>
Subject: Re: foreign keys and memory consumption
Date: 2007-10-09 10:04:08
Message-ID: 1191924248.4223.627.camel@ebony.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 2007-10-09 at 11:28 +0200, Jan Poslusny wrote:

> pg 8.2.4 on Fedora Core 6 x86-64, mostly default postgres.conf just
> shared memory buffers increased to 256M. 1GB RAM.
> I attempt to insert ~200k rows into table in one transaction from psql
> console, calling stored function of plperlu language, which inserts row
> by row via spi_exec_prepared. If table contains some foreign key
> (id_parent int4 not null references this_table(id) on delete cascade),
> memory allocated for processing child process grows and grows (roughly,
> 1GB for first 100k rows is consumed) and is not released neither after
> successful end of transaction nor after Ctrl-C.
> If table does not contain that foreign key, consumed memory does not
> grow in this way - all is O.K.
> I do not know if I am missing something or if it is necessary or if it
> is memory leak. If somebody will be interesting, I can provide my
> postgres.conf and I can write script isolating and demonstrating this
> phenomena.

It's a known side effect of the way FKs work currently.

--
Simon Riggs
2ndQuadrant http://www.2ndQuadrant.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message michael.guiard 2007-10-09 10:34:45 slow request
Previous Message Andrew Kelly 2007-10-09 09:46:54 DB upgrade