Is this paragraph in the pg_locks section still correct/accurate? - Mailing list pgsql-docs

From Daniel Westermann (DWE)
Subject Is this paragraph in the pg_locks section still correct/accurate?
Date
Msg-id ZR2PPFF1830B8773DF9667A61EB4EEF893ED285A@ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM
Whole thread Raw
Responses Re: Is this paragraph in the pg_locks section still correct/accurate?
List pgsql-docs
Hi,

while playing a bit with pg_locks I came across this:

https://www.postgresql.org/docs/current/view-pg-locks.html

"Although tuples are a lockable type of object, information about row-level locks is stored on disk, not in memory, and
thereforerow-level locks normally do not appear in this view. If a process is waiting for a row-level lock, it will
usuallyappear in the view as waiting for the permanent transaction ID of the current holder of that row lock." 

Given this? (I've just updated the same row in two transactions):

postgres=# select locktype,database::regdatabase,relation::regclass,pid,mode,granted,waitstart,page,tuple from pg_locks
wherepid != pg_backend_pid() order by pid; 
   locktype    | database | relation | pid  |       mode       | granted |           waitstart           | page | tuple


---------------+----------+----------+------+------------------+---------+-------------------------------+------+-------
 relation      | postgres | t        | 9673 | RowExclusiveLock | t       |                               |      |
 virtualxid    |          |          | 9673 | ExclusiveLock    | t       |                               |      |
 transactionid |          |          | 9673 | ExclusiveLock    | t       |                               |      |
 virtualxid    |          |          | 9691 | ExclusiveLock    | t       |                               |      |
 transactionid |          |          | 9691 | ShareLock        | f       | 2026-01-08 09:58:38.867534+01 |      |
 tuple         | postgres | t        | 9691 | ExclusiveLock    | t       |                               |    0 |     5
 transactionid |          |          | 9691 | ExclusiveLock    | t       |                               |      |
 relation      | postgres | t        | 9691 | RowExclusiveLock | t       |                               |      |
(8 rows)

... I am wondering if that paragraph is still true or at least needs some adjustments to explain what "normally" and
"usually"means? There clearly is information about the tuple and the row level lock. 

Regards
Daniel


pgsql-docs by date:

Previous
From: Robert Treat
Date:
Subject: Re: Doubt on content under Routine Vacuuming section
Next
From: PG Doc comments form
Date:
Subject: Documentation/Behavior: Systemd Type=notify failure with pg_ctl on Debian 12