Desculpa por enviar email em html, força do habito...

Bom fazendo os testes aqui vi que o deadlock ocorre quando tento dar um UPDATE 
em uma tabela, todos os clientes atualizam essa tabela.
Cada vez que um usuário, por meio da interface flash, envia seu XML, o python 
pega esse XML trata e grava no banco, mas existe uma tabela em comum que toda 
vez que o python trata um XML ele dá um update na tabela que denomino como 
Tb_pass

A function está assim:

CREATE OR REPLACE FUNCTION pass(numeric)
RETURNS Void AS

$BODY$
DECLARE
        valor numeric(16,4);
BEGIN
        valor = $1;

        UPDATE tb_pass SET total = total + valor;                       
END;
$BODY$
LANGUAGE 'plpgsql';

Li entre ontem e hoje muitas coisas sobre lock, mas ainda estou perdido.
Vi que existe o set isolete level, onde poderia seriazable, seria isso?

Alguém poderia me dar uma luz, se alguém tiver uma matéria (sem ser a do 
imasters que já li), ou alguma coisa explicando bem isso, ou se quiser explicar 
o que devo fazer, seria muuuito bem vindo
:o)

Obrigado


WWW.V7V.COM.BR
Sidnei Vladisauskis 
EMAIL: [EMAIL PROTECTED]
MSN: [EMAIL PROTECTED]
SKYPE: sidneivl 
TEL.: 55 (11) 3717-4071
CEL.: 55 (11) 8116-6925

-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de Leandro Guimarães 
Faria Corcete DUTRA
Enviada em: terça-feira, 3 de abril de 2007 09:54
Para: Grupo de Usuários do PostgreSQL no Brasil
Assunto: Re: [PostgreSQL-Brasil] deadlock e serviços abertos, como evitar?

Em Seg, 2007-04-02 às 23:46 -0300, Sidnei Vladisauskis escreveu:
>                                    
>  Depois de rodar 9670 transações aconteceu em 7 conexões o deadlock,
>                        como posso evitar isso?
>                                    
>                                    

        Por favor evite escrever em HTML.

        Tem de analisar cada um.  Mas geralmente um deadlock se dá quando não 
se leva em conta o controle de transações; a situação mais comum é quando dois 
processos atualizam o mesmo conjunto de tabelas em ordens diversas, sendo que 
um tem de esperar um recurso travado pelo outro.

        Um agravante é quando se tenta controlar os recursos manualmente, por 
exemplo com SELECT FOR UPDATE.


--
Leandro Guimarães Faria Corcete DUTRA <[EMAIL PROTECTED]> http://orolix.com.br./
+55 (11) 2122 0302
Join the FSF: http://www.fsf.org/register_form?referrer=4686



_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a