Marcelo, tua sugestão de criar as tabelas com nome único é bem interessante.
hj não tenho problema com as tabelas temporárias por que antes de dar um COMMIT elas são dropadas, tm essa rotina é exclusiva, apenas um usuário pode executar. tive problema com tabela em uso exclusivo, motivo pelo qual uso as temporárias, insiro nelas os dados e ai posso manipular a vontade, sem bloquear ninguém. o processo não faz UPDATE em nenhum registro, antes de dar o INSERT do resultado da função faço um DELETE dos registros antigos. -----Mensagem original----- De: [email protected] [mailto:[email protected]] Em nome de Marcelo Silva (IG) Enviada em: sexta-feira, 25 de fevereiro de 2011 11:12 Para: Comunidade PostgreSQL Brasileira Assunto: Re: [pgbr-geral] Uso de memória pelo postgres Irineu, vou arriscar em dizer: Imagino que estja fazendo o seguinte: Cria tabela (com um determinado nome) Executa as rotinas Deleta tabela E se a tabela já existe o que voce faz ? "Alter Table" ? O postgres no momente que vai Excluir, Alterar tabelas e indices, ele precisa de acesso exclusivo, o que pode estar acontecendo é que no momento que você solicita a "Alter Table" ou "Drop" ele aguarda alguém que está usando a bendita tabela em questão, assim ele demora esse tempo todo. O que pode tentar fazer é se possível e se a tabela é de uso exclusivo para estes calculos, crie as tabelas com nomes Unicos para que não haja conflito entre os usuários, não use "alter table" a menos que saiba que a tabela não esteja sendo usada. Acho que adicionando o nomeuser a data e hora ao nome da tabela, ou o usuario ja que deve ser unico ja resolveria seu problema, exemplo: CRETAE TABLE "TB_CALCULO"+USER+DATA+HORA Assim cada tabela seria unica ps. esteja certo de fechar a tabela "antes" de exclui-la ou altera-la Espero ter sido claro... Marcelo Silva --------------------------------------------------- -----Mensagem Original----- From: Marcal Hokama Sent: Friday, February 25, 2011 10:37 AM To: [email protected] Subject: Re: [pgbr-geral] Uso de memória pelo postgres ________________________________ > From: [email protected] > To: [email protected] > Date: Fri, 25 Feb 2011 09:37:17 -0300 > Subject: [pgbr-geral] Uso de memória pelo postgres > > > Caros, > > > > tenho uma função que calcula as necessidades de matéria prima para > produção fazendo da seguinte forma: > > > > -cria tabelas temporárias e insere apenas os registros necessários para > o calculo. > > -cria índices para essas tabelas temporárias > > -efetua os cálculos > > -insere no banco o resultado. > > > > Acontece que quando executa essa função demora mais de 3 horas para > concluir, muitas vezes tendo que reiniciar o banco. > > > > Depois dos cálculos gerados a inserção dos dados é rápida. > > > > O servidor(Linux) tem 3,2GB reservado de RAM para o banco. Porém pelo > diagnostico que me foi passado pelo administrador da rede o postgres > nunca utilizou mais que 0,9 GB. > > > > Que configurações do banco poderia olhar para que o postgres utilize > mais memória? Será que seria isso ? O que poderia ser? > > > > Se alguém puder me dar uma luz ficarei imensamente agradecido. > > > > > > Atenciosamente, > > Irineu Raymundo > Prezado Irineu, Tem como passar o volume de dados envolvidos nessas tabelas temporárias? Marçal de Lima Hokama----------------------e-mail: [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 ---------------------------------------------------------------------------- -------------------------------- Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. ------------------------------------------------------------------------------------------------------------ Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda. _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
