Em 20 de março de 2012 10:49, Flavio Henrique Araque Gurgel <
[email protected]> escreveu:

> Para bloquear registros específicos, use SELECT.... FOR UPDATE.
> Os registros ficarão bloqueados para modificação até o COMMIT ou
> ROLLBACK da transação.
> A limpeza automática não é abortada neste caso, ela apenas pulará os
> registros afetados e os tratará na próxima execução.
>

Ok, mas o problema é que não posso bloquear apenas as modificações nesses
registros. não posso retorna-los em consultas. Pois imagine que os
registros ainda estão sendo atualizados para "em processamento" quando
outra sessão requisitar os registros que não estão em processamento.
O que estou pensando em fazer é criar uma tabela sem dados que controlará
meus locks. quando precisar bloquear o acesso aos dados que estão sendo
atualizados utilizo um lock sobre essa tabela.
a tb_processamento_tmp continua livre para consultas, inserções,updates
para todas as sessões que não forem pegar dados para processamento. Pois
apenas essas sessões tentarão obter o lock sobre a tabela de controle.

O que você acha?


>
> []s
> Flavio Gurgel
> _______________________________________________
> 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

Responder a