I happened across this page:
 
http://en.wikipedia.org/wiki/Isolation_(database_systems)
 
I was all set to be righteously indignant over the slander of
PostgreSQL, but figured I should check the SQL standard to be sure of
my ground.  The only version of the standard I have available right
now is the 2003 version, where I found:
 
"The execution of concurrent SQL-transactions at isolation level
SERIALIZABLE is guaranteed to be serializable. A serializable
execution is defined to be an execution of the operations of
concurrently executing SQL-transactions that produces the same
effect as some serial execution of those same SQL-transactions. A
serial execution is one in which each SQL-transaction executes to
completion before the next SQL-transaction begins."
 
and following the diagram of phenomena allowed at each level:
 
"NOTE 53 * The exclusion of these phenomena for SQL-transactions
executing at isolation level SERIALIZABLE is a consequence of the
requirement that such transactions be serializable."
 
The wikipedia page cites the ANSI/ISO SQL 99 standard, so the
PostgreSQL documentation on the topic is apparently based on an
earlier version.  Is an update in order?
 
Note that I would not want to pay the performance penalty for full
compliance with the later standards.  The cases where there is a
difference seem unlikely to ever come up in the environments where I
work, so any effort in changing PostgreSQL behavior toward closer
conformance would be totally wasted from my perspective.
 
-Kevin

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to