Subject | Postgres and serializable... |
---|---|
Author | Ann W. Harrison |
Post date | 2007-02-23T17:33:06Z |
While avoiding doing what I should be doing, I ran across this
piece of documentation from Postgres:
http://www.postgresql.org/docs/8.2/static/transaction-iso.html#XACT-SERIALIZABLE
The gloss of it is that Postgres has MVCC much like Falcon's (no
surprise there) but what we call "repeatable read" they call
"serializable", with a note saying:
"The intuitive meaning (and mathematical definition) of 'serializable'
execution is that any two successfully committed concurrent transactions
will appear to have executed strictly serially, one after the other —
although which one appeared to occur first may not be predictable in
advance. It is important to realize that forbidding the undesirable
behaviors listed in Table 12-1 is not sufficient to guarantee true
serializability, and in fact PostgreSQL's Serializable mode does not
guarantee serializable execution in this sense."
Cheers,
Ann
piece of documentation from Postgres:
http://www.postgresql.org/docs/8.2/static/transaction-iso.html#XACT-SERIALIZABLE
The gloss of it is that Postgres has MVCC much like Falcon's (no
surprise there) but what we call "repeatable read" they call
"serializable", with a note saying:
"The intuitive meaning (and mathematical definition) of 'serializable'
execution is that any two successfully committed concurrent transactions
will appear to have executed strictly serially, one after the other —
although which one appeared to occur first may not be predictable in
advance. It is important to realize that forbidding the undesirable
behaviors listed in Table 12-1 is not sufficient to guarantee true
serializability, and in fact PostgreSQL's Serializable mode does not
guarantee serializable execution in this sense."
Cheers,
Ann