Что такое SELECT FOR UPDATE?

Ответ

Блокирует выбранные строки до конца транзакции. Другая транзакция с SELECT FOR UPDATE или изменением этих строк будет ждать (или откатится при nowait). Используется для пессимистичной блокировки при "прочитал-изменил-записал". FOR UPDATE SKIP LOCKED - пропускать уже заблокированные строки (очереди задач). FOR SHARE - блокировка на чтение (shared lock).

SELECT * FROM orders WHERE id = 1 FOR UPDATE;
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.