Fabrízio de Royes Mello <[email protected]> escreveu: 2013/2/18 Sérgio Antônio dos Santos <[email protected]> Olá
Estou com uma dúvida com relação a lock de tabelas no pg, o contexto é o seguinte: Tenho uma tabela cujo alguns campos são monitorados por triggers, e em um determinado momento preciso fazer alterações nestes campos ignorando as triggers. A pergunta é: Quando eu chamo a function e desabilito as triggers ( ALTER TABLE schema.table DISABLE TRIGGER tg_x; ALTER TABLE schema.table DISABLE TRIGGER tg_y; ) Durante a execução desta function a tabela fica em lock? Sim... para vc executar esse ALTER TABLE... ENABLE/DISABLE TRIGGER... é necessário obter um ExclusiveLock, ou seja, ninguém conseguirá acessar a tabela (mesmo SELECT) até sua transação finalizar, e para obter esse ExclusiveLock ele vai aguardar finalizar transacoes ativas... Att, -- Fabrízio de Royes Mello Caso não queira que este procedimento aconteça, trate as exceções de execução em sua aplicação, orientando internamente a trigger na execução ou não do dado procedimento implementado. As vezes um ExclusiveLock pode ser problema em algumas tabelas... E uma saída é esta. Att. Rieg. Envio efetuado a partir do Galaxy Tab Samsung
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
