PostgreSQL · Lección 06
¿Qué niveles de aislamiento ofrece PostgreSQL y cuál es el predeterminado?
Los niveles de aislamiento solo afectan al orden de escritura en el WAL y no cambian lo que ven las consultas
El nivel por defecto es SERIALIZABLE, que ejecuta las transacciones de una en una y por eso nunca produce errores de concurrencia
En READ COMMITTED una transacción ve siempre la misma instantánea desde su primera sentencia hasta el commit, aunque otras confirmen cambios
Por defecto usa READ COMMITTED, donde cada sentencia ve lo confirmado hasta ese momento; REPEATABLE READ mantiene una única instantánea durante la transacción, y SERIALIZABLE evita anomalías pero puede abortar transacciones, que la aplicación debe reintentar
PostgreSQL · Lección 06
Completa el código
El nivel de aislamiento por defecto es READ
Revisa: READ COMMITTED.
PostgreSQL · Lección 06
¿Por qué una aplicación que usa SERIALIZABLE debe estar preparada para reintentar transacciones?
Pista: PostgreSQL puede abortar una transacción con un error de serialización para evitar una anomalía; no es un fallo de la consulta sino un conflicto de concurrencia que suele resolverse repitiéndola, y sin reintentos el usuario vería errores intermitentes.
✓
¡Lección completada!
Transacciones y niveles de aislamiento
0
XP ganado
3
Vidas restantes