Thread: "slow lock" log in addition to log_min_duration_statement ?

"slow lock" log in addition to log_min_duration_statement ?

From
Bryce Nesbitt
Date:
I have a cluster with log_min_duration_statement set to log slow 
queries. Presently what I'm tracking down is almost certainly a lock 
problem.  Is there any analog of log_min_duration_statement for locks?  
If there is a lock on a certain critical tables for more than a few 
hundredths of a second I want to know.

Similarly in pg_stat_activity, is there a way to get the parameters to 
the current_query?  I see the placeholders (e.g. $1, $2) but not the data.

This is with PostgreSQL 8.3.4
Thanks!


Re: "slow lock" log in addition to log_min_duration_statement ?

From
Joshua Tolley
Date:
On Wed, Nov 10, 2010 at 12:28:46PM -0800, Bryce Nesbitt wrote:
> I have a cluster with log_min_duration_statement set to log slow
> queries. Presently what I'm tracking down is almost certainly a lock
> problem.  Is there any analog of log_min_duration_statement for locks?
> If there is a lock on a certain critical tables for more than a few
> hundredths of a second I want to know.

You could try log_lock_waits:
http://www.postgresql.org/docs/8.3/interactive/runtime-config-logging.html#GUC-LOG-LOCK-WAITS

It's defined in terms of deadlock_timeout, and reducing that to "a few
hundredths of a second" like you're interested in might cause all kinds of
load from the deadlock detector.

--
Joshua Tolley / eggyknap
End Point Corporation
http://www.endpoint.com