Re: Re: [COMMITTERS] pgsql: Fix plpgsql to release SPI plans when a function or DO block is
Stephen Frost <sfrost@snowman.net>
From: Stephen Frost <sfrost@snowman.net>
To: Jan Urbański <wulczer@wulczer.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, David Fetter <david@fetter.org>, PG Hackers <pgsql-hackers@postgresql.org>
Date: 2011-03-28T15:25:39Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix plpgsql to release SPI plans when a function or DO block is freed.
- 87f2ad1326bf 9.1.0 cited
* Jan Urbański (wulczer@wulczer.org) wrote:
> On 28/03/11 04:31, Tom Lane wrote:
> >> Do the other PLs we ship need similar fixes?
> >
> > Offhand I think the other PLs leave management of prepared plans to the
> > user. If there are any places where they cache plans behind the scenes,
> > maybe a similar fix would be appropriate.
>
> FWIW I executed
>
> do $$ plpy.execute("select 1 from pg_class") $$ language plpythonu;
>
> 10k times in a session and the backend grew a lot in memory and never
> released it. I can't offhand see where the memory went, I'll try to
> investigate in the evening.
I'm about 90% sure that they all have this problem.. I havn't had a
chance to look at how Tom fixed pl/pgsql (I didn't think it'd be easy to
do w/o coming up with a way to explicitly tell the PL to release
something) so perhaps I'm mistaken, but they all share very similar
code..
Thanks,
Stephen