Write skew
Anomalía de concurrencia: dos transacciones leen datos que se solapan, cada una actualiza según lo que vio, y el estado final es inválido pese a que ambas estaban aisladas. El snapshot isolation lo permite; SERIALIZABLE lo bloquea.
Ejemplo clásico: la regla de un hospital de "al menos un médico de guardia". Tx1: el médico A comprueba si puede pedir libre — cuenta 2 de guardia → sí puede. Tx2: la médica B hace lo mismo — también cuenta 2 → también puede. Ambas transacciones ponen su guardia a false. Resultado: 0 médicos de guardia. Las dos vieron un estado con 2 médicos, decidieron de forma aislada, confirmaron de forma atómica — pero el resultado combinado es inválido. Defensas: aislamiento SERIALIZABLE (SSI), bloqueos de fila explícitos (FOR UPDATE), validación de restricciones a nivel de aplicación. PostgreSQL en modo SERIALIZABLE detecta el write skew y aborta una de las dos transacciones.