Thread: How to inspect blocked queries

How to inspect blocked queries

From
"Randall F. Kern"
Date:
I have an web application that sometimes hangs.  When I run ps I see a
postgresql thread that says "INSERT waiting" (I don't have the exact
text in front of me, but it's similar to that).  When this happens my
only recourse is to restart my webserver or database.

Now most likely I have another transaction that hasn't been committed or
locks tables in a different order, but I don't see it in the output from
ps.  Is there anyway for me to inspect the pending queries in postgesql
so I can track this down?

Thanks,
-Randy

Re: How to inspect blocked queries

From
Tom Lane
Date:
"Randall F. Kern" <randy@spoke.net> writes:
> I have an web application that sometimes hangs.  When I run ps I see a
> postgresql thread that says "INSERT waiting" (I don't have the exact
> text in front of me, but it's similar to that).  When this happens my
> only recourse is to restart my webserver or database.

> Now most likely I have another transaction that hasn't been committed or
> locks tables in a different order, but I don't see it in the output from
> ps.  Is there anyway for me to inspect the pending queries in postgesql
> so I can track this down?

Sorry, no good way to do that at the moment.  I'd suggest turning on
query logging (-d2 to the postmaster, and make sure the stderr output
is going somewhere and is not being suppressed by -S).  When the hang
occurs, you can look back in the log to see what other transactions
are in progress.

            regards, tom lane