News for hackers. Stuff that matters.
Re:How Postgres Makes Transactions Atomic by skyde on Wednesday August 16, 2017 @04:54PM (#15031291)
I think what your looking for is called range lock. When a query sort or filter rows using a range predicate. If using repeatable read isolation. A range lock is created to detect conflict with another transaction inserting new matching row.
Re:How Postgres Makes Transactions Atomic by petergeoghegan on Wednesday August 16, 2017 @08:16PM (#15032565)
That's not how postgres works. You're talking about 2PL. Serializable isolation level in postgres does have something called predicate locks, but those are actually quite a different thing.
Re:How Postgres Makes Transactions Atomic by skyde on Thursday August 17, 2017 @02:27PM (#15039442)
No I was talking exactly about Predicate Locking. They detect writes which conflict with earlier reads I dont think this could be called 2PL because it's only used to detect conflict.

Correctness requires that any insert into an index generate a rw-conflict with a concurrent serializable transaction if, after that insert, re-execution of any index scan of the other transaction would access the heap for a row not accessed during the previous execution.