Abaixo está uma função que criei e que tem o mesmo efeito no consumo de
memória. Execute a função com um número alto no parâmetro(10000) e acompanhe
o consumo de memória. A pergunta é, por que quando a tabela é dropada, ela
não é liberada da memória?
CREATE OR REPLACE FUNCTION teste2(int4)
RETURNS text AS
'
declare
wNumero alias for $1;
ww int8;
begin
ww := 0;
while ww < wnumero loop
execute(\'CREATE LOCAL TEMPORARY TABLE ExplodeExtrutura (niv int4, ord
varchar(256), prdpai varchar(30), prd varchar(30),
uso
numeric(18,6), qtd numeric(18,6), gru varchar(2), fo_prg varchar(2), pr_cpl
varchar(2))\');
ww := ww + 1;
drop table explodeextrutura;
end loop;
return (\'OK\');
end;
'
LANGUAGE 'plpgsql' VOLATILE;
----- Original Message -----
From: "Leandro DUTRA" <[EMAIL PROTECTED]>
To: "Comunidade PostgreSQL Brasileira" <[email protected]>
Sent: Tuesday, October 30, 2007 10:24 AM
Subject: Re: [pgbr-geral] Erro
> 2007/10/30, sergio <[EMAIL PROTECTED]>:
>> Imagine que você tenha um sql que retorne uma quantidade de dados. Na
>> minha
>> função, esse sql é executado várias vezes (com parâmetros diferentes).
>> Nos testes que fiz, me parace que esse é o ponto onde vai alocando
>> memória.
>> Mas eu posso liberar os dados do sql anterior, pois eu não preciso mais,
>> preciso somente do atual. Não sei se o meu raciocinio está correto, mas
>> se
>> existe uma maneira de liberar essa memória eu não achei.
>
> Sem ver os detalhes é impossível dizer…
>
> --
> +55 (11) 5685 2219 xmpp:[EMAIL PROTECTED]
> +55 (11) 9406 7191 Yahoo!: ymsgr:sendIM?lgcdutra
> +55 (11) 5686 9607 ICQ/AIM: aim:GoIM?screenname=61287803
> MSN: msnim:[EMAIL PROTECTED]
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral