| From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
|---|---|
| To: | pgsql-bugs(at)postgresql(dot)org |
| Subject: | memory leak in postgresql |
| Date: | 2011-10-11 19:23:15 |
| Message-ID: | CAFj8pRA_2GLDy_WLCdzx_KmJ2f-s0enxSZ1nO9+mN5xtYV6Vxg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
Hello
I found a following issue (tested on PostgreSQL 9.2)
CREATE OR REPLACE FUNCTION public.setfield(a anyelement, text, text)
RETURNS anyelement
LANGUAGE plpgsql
AS $function$
begin
create temp table aux as select $1.*;
execute 'update aux set ' || quote_ident($2) || ' = ' || quote_literal($3);
select into $1 * from aux;
drop table aux;
return $1;
end;
$function$
create type mypoint as (a int, b int);
create table omega(p mypoint);
insert into omega select mypoint '(10,20)' from generate_series(1,100000);
update omega set p = setfield(p, 'a', '20');
WARNING: out of shared memory
CONTEXT: SQL statement "create temp table aux as select $1.*"
PL/pgSQL function "setfield" line 3 at SQL statement
ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.
CONTEXT: SQL statement "create temp table aux as select $1.*"
PL/pgSQL function "setfield" line 3 at SQL statement
Regards
Pavel Stehule
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2011-10-11 19:49:24 | Re: memory leak in postgresql |
| Previous Message | Bruce Momjian | 2011-10-11 18:39:28 | Re: pg_upgrade v9.1 issues |