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
Consultoria/Coaching PostgreSQL
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a