PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Général » Update concurrent - besoin de lock ? » 13/07/2022 14:16:11

jbd

Ha ok, merci, j'avais pas cette notion de limit, cette requête était faite sur mysql à l"époque, et je l'avais énoncé de mémoire.

du coup, on est obligé de faire du select for update j'imagine dans ce cas

#2 Général » Update concurrent - besoin de lock ? » 13/07/2022 07:11:08

jbd
Réponses : 3

Bonjour,

Je m'interroge sur la requête type suivante : UPDATE table set user_id = 'xxx' where user_id is null limit 1

J'ai toujours pensé que cette requête était safe d'un point de vue concurrence, que même en cas de stress sur la db, même avec des milliers d'execution en parallèle, il ne pouvait pas y avoir d'écrasement d'une requête sur une autre.

Or, récemment, on m'a fait douté et indiqué que je devrais locker lors de l'update.

Je n'ai pas réussi à trouver d'info à ce sujet.

D'ou ma question,

Est il possible, qu'une meme ligne respectant la clause where (user_id is null) puisse être "sélectionneé" pour être updatée par deux requêtes en parallèle et que la dernier requête qui écrit, écrase la valeur de la premiere ?

Merci d'avance

Pied de page des forums

Propulsé par FluxBB