Manual del usuario de PostgreSQL | ||
---|---|---|
Anterior | Multi-Version Concurrency Control (Control de la Concurrencia Multi Versi�n) | Siguiente |
Lectura cursada es el nivel de aislamiento por defecto en Postgres. Cuando una transacci�n se ejecuta en este nivel, la consulta s�lo ve datos cursados antes de que la consulta comenzara y nunca ve ni datos "sucios" ni los cambios en transacciones concurrentes cursados durante la ejecuci�n de la consulta.
Si una fila devuelta por una consulta mientras se ejecuta una declaraci�n UPDATE (o DELETE, o SELECT FOR UPDATE) est� siendo actualizada por una transacci�n concurrente no cursada, entonces la segunda transacci�n que intente 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 caso de que se curse (y si la fila todav�a existe, por ejemplo, no ha sido borrada por la otra transacci�n), la consulta ser� reejecutada para esta fila y se comprobar� que la nueva fila satisface la condici�n de b�squeda de la consulta. Si la nueva versi�n de la fila satisface la condici�n, ser� actualizada (o borrada, o marcada para ser actualizada).
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.