Too Long; Didn't Read
Postgres Transaction Isolation Levels with Go Examples. Go has two main not-orm libraries to work with Postgres, pg/lib and jackc/pgx. Pgx is preferable and I gonna use it in examples. All transactions are Postgres protected from dirty read, it is not possible to read changes, that not yet committed. Different isolation levels are targeted to prevent undesirable phenomena: dirty read and nonrepeatable read, phantom read, and serialization anomaly. Postgres supports only 3 of them.