Re: [Postgresql-it] Concorrenza

  • From: Enrico <scotty@xxxxxxxxxxxx>
  • To: postgresql-it@xxxxxxxxxxxxxxxxx
  • Date: Thu, 07 Apr 2005 18:18:35 +0200


Probabilmente ho capito male io, oppure hai posto male la domanda.

Però se fai questa update, così com'è scritta, comunque vada un solo utente per volta eseguirà l'aggiornamento. Ma forse volevi fare qualcosa del tipo

BEGIN;
SELECT * FROM table WHERE campoj = yyyy FOR UPDATE;
UPDATE...
COMMIT;

Esatto cercavo questo...


se non ricordo male in questo modo fai un lock alla riga; poi puoi fare qualsiasi altra cosa; finché non dai la commit il lock di riga non va via e quindi a meno che le altre transazioni non siano in dirty_read verranno bloccate finché la prima non ha finito.
Ah, perché non mi ricordo mai i vari liveli di isolamento? :) La mia testaccia... comunque li trovi sul manuale.

Grazie Enrico

Other related posts: