Уровни изоляции транзакций. Настройка в Go.

Ответ

Read Uncommitted, Read Committed, Repeatable Read, Serializable. В Go уровень задают при начале транзакции: db.BeginTx(ctx, &sql.TxOptions{Isolation: sql.LevelSerializable}). По умолчанию в Postgres - Read Committed. Более высокий уровень - меньше аномалий, но больше блокировок и откатов. Для большинства сценариев достаточно уровня по умолчанию.

tx, err := db.BeginTx(ctx, &sql.TxOptions{Isolation: sql.LevelRepeatableRead})
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.