> Eu tenho uma plpgslq que requisita um lock ACCESS EXCLUISIVE > > lock table tb_processamento_tmp in ACCESS EXCLUSIVE mode;
Pra quê essa agressividade toda? Lock pessimista está fora de moda :) > Esse tipo de lock pode cancelar o autovacuum? Sim. > Caso esse lock seja o problema, existe alguma forma de que essa pl seja > sincronizada. Pois o software que a chama é multi-thread e além disso esse > software pode estar rodando em mais de uma maquina, por isso não ha como > sincronizar na aplicação. Fazer um lock numa tabela toda não é algo muito utilizado em aplicações modernas, ainda mais multi-thread. É o maior causador de race conditions que eu conheço. Já tive dezenas de clientes com problemas assim (causando um lock bloqueia dezenas de outras threads, não é nem o problema de cancelar limpeza). A recomendação sempre foi ajustar a aplicação e não usar um lock desse tipo, adotar uma estratégia que permita a concorrência é mais interessante. > Você tem alguma ideia? talvez advisory locks ou algum outro lock. Aí precisamos saber qual é a idéia desse lock. Por que você faz esse lock. Qual a necessidade de sua aplicação fazer isso. []s Flavio Gurgel _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
