Multiversion Concurrency Control
Snapshot Isolation
Write skew
Running the transactions SERIALIZABLE would have prevented this.
Try write_skew_ser.sql in scripts.
Error message on second commit:
ERROR: could not serialize access due to read/write dependencies among transactions
DETAIL: Reason code: Canceled on identification as a pivot, during commit attempt.
HINT: The transaction might succeed if retried.
|