Olá todos, Preciso rodar uma função que contém cerca de uns 5 "TRUNCATE" e seguidos de um respectivo "INSERT/SELECT".
O problema é que a "tabela" de onde eu executo o SELECT é uma view com várias tabelas e retorna um volume de dados na ordem dos 400.000.000 registros. Na última execução que fiz para teste eu observei que ela chega a sugar cerca de 4GB de RAM (dos 8GB disponíveis), quando pára. Esse é o final do meu LOG quando a função estoura: ERRO: sem memoria DETALHE: Falhou ao requisitar o tamanho 1536. CONTEXTO: comando SQL "INSERT INTO publicacao.extracao_jabot SELECT nextval('publicacao.extracao_jabot_codespecime_seq') as codespecime, * FROM jabot.v_extracao_jabot;" PL/pgSQL function "extracao" line 13 at execute statement LOG: EOF inesperado durante conexao do cliente Se eu separar esses vários conjuntos de de TRUNCATE + INSERT/SELECT em funções separadas e depois criar uma função principal chamando todas elas, resolveria o problema de falta de memória (estou apostando na questão do Postgresql considerar toda uma função como uma transação única - TALVEZ ESTEJA FALANDO BOBAGEM, confirmem se algum puder) ? Caso a ideia sugerida acima não resolver qual solução vocês me recomendariam? Grato. -- Welington Rodrigues Braga -------------- Web: http://gtk-br.welrbraga.t5.com.br MSN: welrbraga[*]msn·com Gtalk: welrbraga[*]gmail·com Yahoo / Skype: welrbraga ICQ: 52789331 "Em tudo somos atribulados, porém não angustiados; perplexos, porém não desanimados; perseguidos, porém não desamparados; abatidos, porém não destruídos;" - 2Co 4:8,9 _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral