Re: Potential G2-item cycles under serializable isolation

Kyle Kingsbury <aphyr@jepsen.io>

From: Kyle Kingsbury <aphyr@jepsen.io>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2020-06-03T14:22:30Z
Lists: pgsql-bugs
On 6/2/20 7:13 PM, Thomas Munro wrote:
> That's (unfortunately) a known problem under concurrency.  It'd be
> very nice to fix that, but it's an independent problem relating to DDL
> (not just tables, and not just IF EXISTS DDL, but anything modifying
> catalogues can race in this way and miss out on "nice" error messages
> or the IF EXISTS no-op).  Here's a good short summary:

Ah, yes, this does explain it, thank you! I was a bit concerned, because I know 
Postgres has a reputation for having transactional DDL. I guess this part of the 
API isn't. :)

--Kyle




Commits

  1. Doc: Add references for SI and SSI.

  2. Improve comments for [Heap]CheckForSerializableConflictOut().

  3. Avoid update conflict out serialization anomalies.

  4. Implement genuine serializable isolation level.