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

Remember Everything You Learn from Podcasts

Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.
App store bannerPlay store banner