Re: Proposal: new ereport option "errdetail_log" - Mailing list pgsql-hackers

From Decibel!
Subject Re: Proposal: new ereport option "errdetail_log"
Date
Msg-id 321B24DF-80FE-42AF-AE8F-C0F27D1852DB@decibel.org
Whole thread Raw
In response to Re: Proposal: new ereport option "errdetail_log"  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Proposal: new ereport option "errdetail_log"
List pgsql-hackers
On Mar 24, 2008, at 6:21 PM, Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
>> Gregory Stark wrote:
>>> The axis on which I still see real room for improvement here is  
>>> on the
>>> description of the locks. It's awfully hard for a user to tell  
>>> from the
>>> deadlock message exactly what operation of the query was  
>>> acquiring what lock
>>> when it deadlocked.
>
>> Are the involved queries not enough?  Why?  What would you like to
>> have?
>
> Greg's certainly got a point.  Consider for example tuple-level locks
> taken as a result of an FK check --- which one, and which rows are
> involved?  Or the case where the logged query is just "SELECT
> some_huge_user_defined_function()" and you have no idea what part  
> of the
> function is triggering it.  (The CONTEXT traceback will help here  
> if the
> backend running the function is the one that errors out, but not when
> it's some other backend.)
>
> I don't have any immediate ideas for improvement either, but we
> certainly shouldn't consider this a totally solved problem.

Something I always find myself wanting when debugging locking issues  
is what's in pg_locks. Could we save that information somewhere when  
we detect a deadlock? In a real table would be nice, but I'd settle  
for just dumping it to a file somewhere. Or maybe into the logs.
-- 
Decibel!, aka Jim C. Nasby, Database Architect  decibel@decibel.org
Give your computer some brain candy! www.distributed.net Team #1828



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Several tags around PostgreSQL 7.1 broken
Next
From: Decibel!
Date:
Subject: Re: TRUNCATE TABLE with IDENTITY