log_lock_waits to identify transaction's relation - Mailing list pgsql-hackers

From Simon Riggs
Subject log_lock_waits to identify transaction's relation
Date
Msg-id CA+U5nMKOLkzz9AFgT-_Us5w3_C+VxZ8jWUL0AtgW7Ss7Wezfrg@mail.gmail.com
Whole thread Raw
Responses Re: log_lock_waits to identify transaction's relation
List pgsql-hackers
When there is contention between concurrent transactions it shows up
as with log_lock_waits as
   LOG:  process %d acquired %s on %s transaction %u after %ld.%03d ms

Which is mostly useless for identifying and eliminating the contention
in the application since you can't tell which table is causing
problems. This only occurs for lock waits on transactions, not on
other lock types, such as tuples which are much more informative, for
example
   LOG:  process %d acquired %s on tuple(x,y) of relation %u of
database %u after %ld.%03d ms

Attached patch passes through further information about the lock wait,
so we can display the following message instead
   LOG: process %d acquired %s on transaction %u on relation %u of
database %u after %ld.%03d ms

This should help identify benefit/loss from the FKlocks feature, since
MultiXactIdWait() shows up in the log as contention of this type.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Attachment

pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Sequence Access Method WIP
Next
From: Claudio Freire
Date:
Subject: Re: [PATCH] COPY .. COMPRESSED