Manual del usuario de PostgreSQL | ||
---|---|---|
Anterior | Multi-Version Concurrency Control (Control de la Concurrencia Multi Versi�n) | Siguiente |
La serailizaci�n proporciona el nivel m�s alto de aislamiento transaccional. Cuando una transacci�n est� en el nivel serializable, la consulta s�lo ve los datos cursados antes de que la transacci�n comience y nunca ve ni datos sucios ni los cambios de transacciones concurrentes cursados durante la ejecuci�n de la transacci�n. Por lo tanto, este nivel emula la ejecuci�n de transacciones en serie, como si las transacciones fueran ejecutadas un detr�s de otra, en serie, en lugar de concurrentemente.
Si una fila devuelta por una consulta durante la ejecuci�n de una declaraci�n UPDATE (o DELETE, o SELECT FOR UPDATE) est� siendo actualizada por una transacci�n concurrente no cursada, la segunda transacci�n que trata de actualizar esta fila esperar� a que la otra transacci�n se curse o pare. En caso de que pare, la transacci�n que espera puede proceder a cambiar la fila. En el caso de una transacci�n concurrente se curse, una transacci�n serializable ser� parada con el mensaje
ERROR: Can't serialize access due to concurrent update |
Tenga en cuenta que los resultados de la ejecuci�n de SELECT o INSERT (con una consulta) no se ver�n afectados por transacciones concurrentes. |