3

Related to previous question here

From the pg_locks documentation, row level lock information is not available when FOR UPDATE is used in a SELECT statement.

Is there any way to check for row level lock when FOR UPDATE is used in a SELECT statement? If yes, how can I do so with Postgres 11?

Thank you

1 Answer 1

6

Row locks are not permanently stored in the shared lock table, but on the row itself, so you cannot simply query for them.

To figure out which rows in a table are locked by concurrent transactions, you could run

SELECT id FROM mytable
WHERE id NOT IN (SELECT id FROM mytable
                 FOR UPDATE SKIP LOCKED);

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.