| READ UNCOMMITTED |
Peut lire des données non validées par d’autres transactions. |
PostgreSQL ne le supporte pas vraiment, il se comporte comme READ COMMITTED. |
| READ COMMITTED (par défaut) |
Chaque requête ne voit que les données validées à ce moment-là. |
Si une autre transaction change quelque chose après que tu aies commencé, tu ne le vois qu’à la prochaine requête. |
| REPEATABLE READ |
Toutes les requêtes dans la même transaction voient les mêmes données. |
Tu vois un “instantané” cohérent pendant toute la transaction. Les nouvelles modifications des autres transactions ne sont pas visibles. |
| SERIALIZABLE |
Niveau le plus strict. Les transactions se comportent comme si elles étaient exécutées l’une après l’autre. |
Empêche tous les phénomènes d’anomalies concurrentes (lecture fantôme, etc.), mais peut provoquer des erreurs de serialization si conflit. |
| AUTOCOMMIT |
Pas vraiment un niveau d’isolation |
Exécute cette commande immédiatement, sans transaction |