Если вы уверены, что строка с id=2
существует, вы можете использовать:
select name from tablename where id=2
for update skip locked
Если результат пустой, это означает, что строка заблокирована другим пользователем (или нет)не существует).
Вы также можете использовать:
select name from tablename where id=2
for update nowait
Если строка существует и заблокирована другим пользователем, запрос выдаст ошибку.