Em 1 de abril de 2016 13:33,  <siste...@mvsoftware.com.br> escreveu:
> Pessoal tenho uma função no sistema onde o usuario seleciona varios produtos
> e muda por exemplo a localização,
> imagine que seja 2mil produtos, neste momento o caixa está vendendo e aí
> trava,
> isso seria normal ou tem alguma coisa que posso mudar pra não travar o
> registro enquanto altera?
>
> Eu poderia travar no caixa lá é prioridade, pois o cliente já está com o
> produto na mão, mas lá é só select.
>
> Como o PostgreSQL trava essas concorrências?

Para responder esta pergunta são necessárias algumas informações:

1) Qual a versão do PostgreSQL utilizada?
2) Qual o nível de isolação (isolation level) utilizado nos caixas [1]?
3) O comando SELECT que busca o produto no caixa está utilizando a
cláusula FOR UPDATE?
4) O processo de venda atualiza o valor de alguma coluna na tabela de produtos?

O nível de isolação padrão é READ COMMITED. Neste caso você não teria
problemas exceto se há concorrência de UPDATE/DELETE sobre o mesmo
registro sendo alterado no cadastro e na venda.

[1] http://www.postgresql.org/docs/current/static/sql-set-transaction.html

TIAGO J. ADAMI
http://www.adamiworks.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a