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

Responder a