The Backend Engineering Show with Hussein Nasser cover image

All Postgres Locks Explained | A Deep Dive

The Backend Engineering Show with Hussein Nasser

00:00

Select for Update, Is It a Delete, or Delete?

If you want to run a select for update, and someone had done a delete on that row, you can't do it. Because a deleted row is a deleted on another transaction, but might not have been committed yet. So with that said, how do I differentiate between updates that update the key and updates that doesn't update the key? There you go. The name is clear here for no key update. Hey, I'm doing an update, but I'm not updating any keys, no index keys or anything like that. And of course, unrepeatable, redancer, realizable, because they're using optimistic concurrency control,. This thing will effectively be blocked, right?

Transcript
Play full episode

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app