diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml
index d115589c53c..303f3a6f921 100644
--- a/doc/src/sgml/catalogs.sgml
+++ b/doc/src/sgml/catalogs.sgml
@@ -7092,16 +7092,27 @@
The pid column can be joined to the
- procpid column of the
- pg_stat_activity view to get more
- information on the session holding or waiting to hold each lock.
+ procpid column of the pg_stat_activity
+ view to get more
+ information on the session holding or waiting to hold each lock,
+ for example
+
+SELECT * FROM pg_locks pl LEFT JOIN pg_stat_activity psa
+ ON pl.pid = psa.procpid;
+
Also, if you are using prepared transactions, the
- transaction> column can be joined to the
- transaction column of the
- pg_prepared_xacts view to get more
- information on prepared transactions that hold locks.
+ virtualtransaction> column can be joined to the
+ transaction column of the pg_prepared_xacts
+ view to get more information on prepared transactions that hold locks.
(A prepared transaction can never be waiting for a lock,
but it continues to hold the locks it acquired while running.)
+ For example:
+
+SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
+ ON pl.virtualtransaction = '-1/' || ppx.transaction;
+