TGViewer
Типичный программист Типичный программист @tproger · 78.2K subscribers
Post #14846 4.64K
Почему JOIN с блокировкой строки может вернуть пустоту в PostgreSQL

Строка есть, внешний ключ заполнен, но INNER JOIN ничего не возвращает. Это возможно, когда две транзакции одновременно меняют связанную запись.

В Read Committed PostgreSQL после снятия блокировки перепроверяет условие JOIN по новой версии строки, но связанную запись не загружает заново. Условие больше не совпадает: INNER JOIN отбрасывает строку, а LEFT JOIN вернёт пустые поля.

В подробном разборе автор воспроизводит гонку и проверяет способы защиты.
  • 🤯 13
  • ❤ 6
  • 👌 5
  • 🤔 3
  • 🎉 2
  • 😭 2
  • 😇 2
  • ⚡ 1
  • ☃ 1
  • 🔥 1
  • 🕊 1
More from @tproger
  1. Sep 27, 2026Сколько стоит превратить enum в строку через рефлексию C++26 Чистый код без макросов оказа…
  2. Sep 27, 2026Как Bitwarden шифрует хранилище и при чём здесь пароль Парольная фраза не шифрует ваши дан…
  3. Sep 27, 2026Как научить небольшую языковую модель соблюдать структуру ответа Модель на 350 млн парамет…
  4. Sep 26, 2026Как передавать Minecraft-сервер между компьютерами игроков Экзамены одного игрока выключил…
  5. Sep 26, 2026Как GitHub перенёс движок Copilot на Rust силами Copilot GitHub переписал общий движок Cop…
  6. Sep 26, 2026Как читать HTML-реликты из эпохи браузерных войн В старом head можно встретить строки, смы…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →