Tim Nelson <timnels@gmail.com> writes:
> New to Postgres and I have never seen this condition. We are getting test
> applications hanging on SELECT statements with a RowExclusiveLock. How can
> a SELECT cause a RowExclusiveLock?
> relname | pid | mode | granted
> --------------------------+-------+------------------+---------
> sales_transaction_detail | 392 | RowExclusiveLock | t
> sales_transaction_detail | 19077 | RowExclusiveLock | t
> sales_transaction_header | 32661 | RowExclusiveLock | t
> sales_transaction_header | 392 | RowExclusiveLock | t
> sales_transaction_header | 19077 | RowExclusiveLock | t
Hm, all those entries are showing granted = t, implying that they are
not blocked. I think you are mis-querying pg_locks or mis-interpreting
the results.
regards, tom lane