How is statement level read consistency implemented? - Mailing list pgsql-general

From Thomas Kellerer
Subject How is statement level read consistency implemented?
Date
Msg-id fukfc4$d1n$1@ger.gmane.org
Whole thread Raw
Responses Re: How is statement level read consistency implemented?  ("Pavan Deolasee" <pavan.deolasee@gmail.com>)
Re: How is statement level read consistency implemented?  (Martijn van Oosterhout <kleptog@svana.org>)
List pgsql-general
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
thanthe 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
numberhigher 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


pgsql-general by date:

Previous
From: "Albe Laurenz"
Date:
Subject: Re: Postgres Encoding conversion problem
Next
From: "Pavan Deolasee"
Date:
Subject: Re: How is statement level read consistency implemented?