Re: Whats is lock type transactionid?

From: AI Rumman <rummandba(at)gmail(dot)com>
To: Douglas J Hunley <doug(dot)hunley(at)gmail(dot)com>
Cc: pgsql-general General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Whats is lock type transactionid?
Date: 2014-07-17 19:54:00
Message-ID: CAGoODpcjHYDy3RSUnEoanUCjti1ScwphPQuYG4xjSsnYAV2Lzw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I am experiencing lock contention on one single UPDATE statement at a
certain time in whole day. This is a small table to UPDATE.
My suspect is we are facing it for one specific ID.
Could you please let me know how can I identify the tuple.

I got a log like follows:
blocker_target | blocker_pid | blocker_mode | depth |
target | pid | mode | seq
-----------------------------------+-------------+---------------+-------+-----------------------------------+------+---------------+-----------
(tuple,475999,662775,1988,6,,,,,) | 3557 | ExclusiveLock | 1 |
(tuple,475999,662775,1988,6,,,,,) | 3543 | ExclusiveLock | 3557,3543
(tuple,475999,662775,1988,6,,,,,) | 3557 | ExclusiveLock | 1 |
(tuple,475999,662775,1988,6,,,,,) | 7387 | ExclusiveLock | 3557,7387

Any idea on it.

Thanks.

On Thu, Jul 17, 2014 at 12:40 PM, Douglas J Hunley <doug(dot)hunley(at)gmail(dot)com>
wrote:

> On Thu, Jul 17, 2014 at 3:34 PM, AI Rumman <rummandba(at)gmail(dot)com> wrote:
>
>> Hi,
>>
>> I have been facing lock contention in my Postgresql 9.1 DB.
>> And when I am querying in the pg_locks table I found a lock type with
>> transactionid.
>> Could someone please tell me what it means?
>>
>> Thanks.
>>
>
> from http://www.postgresql.org/docs/9.3/static/view-pg-locks.html :
> Every transaction holds an exclusive lock on its virtual transaction ID
> for its entire duration. If a permanent ID is assigned to the transaction
> (which normally happens only if the transaction changes the state of the
> database), it also holds an exclusive lock on its permanent transaction ID
> until it ends. When one transaction finds it necessary to wait specifically
> for another transaction, it does so by attempting to acquire share lock on
> the other transaction ID (either virtual or permanent ID depending on the
> situation). That will succeed only when the other transaction terminates
> and releases its locks.
>
> I believe that describes what you're seeing
>
> --
> Douglas J Hunley (doug(dot)hunley(at)gmail(dot)com)
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Douglas J Hunley 2014-07-17 21:08:18 Re: Whats is lock type transactionid?
Previous Message Douglas J Hunley 2014-07-17 19:40:52 Re: Whats is lock type transactionid?