diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 98324fd86c9..9543f24b27b 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -6415,16 +6415,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; +