Dirty read - чтение незакоммиченных данных другой транзакции; при откате той транзакции прочитанное неверно. Non-repeatable read - в одной транзакции два чтения одной строки дают разные значения (другая транзакция закоммитила изменение). Phantom read - два чтения по одному условию возвращают разный набор строк (другая транзакция вставила/удалила подходящие строки). Read Uncommitted допускает dirty; Read Committed - non-repeatable; Repeatable Read в PG устраняет phantom за счет snapshot; Serializable устраняет все.