On Thu, Jul 14, 2011 at 6:01 PM, Tony Wang <
[email protected]> wrote:
> On Fri, Jul 15, 2011 at 01:13, Scott Marlowe <
[email protected]>
> wrote:
>>
>> On Wed, Jul 13, 2011 at 9:47 PM, Tony Wang <
[email protected]> wrote:
>> > On Thu, Jul 14, 2011 at 10:35, John R Pierce <
[email protected]>
>> > wrote:
>> > It's a game server, and the queries are updating users' money, as
>> > normal.
>> > The sql is like "UPDATE player SET money = money + 100 where id =
>> > 12345".
>> > The locks were RowExclusiveLock for the table "player" and the indexes.
>> > The
>> > weird thing is there was another ExclusiveLock for the table "player",
>> > i.e.
>> > "player" got two locks, one RowExclusiveLock and one ExclusiveLock.
>> > In the postgresql documentation
>> > (
http://www.postgresql.org/docs/8.4/static/explicit-locking.html), it's
>> > said
>> > about the Exclusive "This lock mode is not automatically acquired on
>> > user
>> > tables by any PostgreSQL command."
>>
>> You need to figure out what part of your app, or maybe a rogue
>> developer etc is throwing an exclusive lock.
>
> Yeah, that's what I'm trying to do