On 3/8/22 08:21, Tom Lane wrote:
Michael Lewis <mlewis@xxxxxxxxxxx> writes:
A transaction started with the first statement will not take any SI locks,
nor will it ever receive a serialization error.
What is the meaning of SI? Anything you are aware of in source code or a
blog post that discusses this?
There's src/backend/storage/lmgr/README-SSI, which might or might
not be the level of detail you are looking for.
If you want to ease into the above:
https://www.postgresql.org/docs/current/mvcc-intro.html
"PostgreSQL maintains this guarantee even when providing the strictest
level of transaction isolation through the use of an innovative
Serializable Snapshot Isolation (SSI) level."
Then:
https://www.postgresql.org/docs/current/transaction-iso.html#XACT-SERIALIZABLE
and
https://www.postgresql.org/docs/current/applevel-consistency.html#SERIALIZABLE-CONSISTENCY
regards, tom lane
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx