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