Manual del usuario de PostgreSQL | ||
---|---|---|
Anterior | Multi-Version Concurrency Control (Control de la Concurrencia Multi Versi�n) | Siguiente |
El est�ndar ANSI/ISO SQL define cuatro niveles de aislamiento transaccional en funci�n de tres hechos que deben ser tenidos en cuenta entre transacciones concurrentes. Estos hechos no deseados son:
Una transacci�n lee datos escritos por una transacci�n no esperada, no cursada.
Una transacci�n vuelve a leer datos que previamente hab�a le�do y encuentra que han sido modificados por una transacci�n cursada.
Una transacci�n vuelve a ejecutar una consulta, devolviendo un conjuto de filas que satisfacen una condici�n de b�squeda y encuentra que otras filas que satisfacen la condici�n han sido insertadas por otra transacci�n cursada.
Los cuatro niveles de aislamiento y sus correspondientes acciones se describen m�s abajo.
Tabla 1. Niveles de aislamiento de Postgres
Lectura "sucia" | Lectura no repetible | Lectura "fantasma" | |
---|---|---|---|
Lectura no cursada | Posible | Posible | Posible |
Lectura cursada | No posible | Posible | Posible |
Lectura repetible | No posible | No posible | Posible |
Serializable | No posible | No posible | No posible |