Hi,

in my office we were discussing the various ways statement level read 
consistency is implemented in different databases, namely Oracle and Postgres.

I am interested in the technical details on how PG determines that a block needs to be 
read from from "some other place than the data block" because another 
transaction has updated the data block.

I'm referring to the scenario that Tom Kyte describes here:
www.oracle.com/technology/oramag/oracle/05-nov/o65asktom.html
and how PG would detect that row 342,023 has been modified by a different transaction 
(and thus reads the correct value, unlike "the other database")

Oracle assigns a SCN (system change number) to each transaction, each block 
contains the SCN for which it is valid, any number higher than the current SCN 
indicates that the block has to be taken from the rollback segment.

How is this "test" implemented in Postgres? Does it have a similar concept (SCN) or does WAL imply a completely different way?


Thanks in advance
Thomas



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

Reply via email to