Re: Weird problem that enormous locks
От | John R Pierce |
---|---|
Тема | Re: Weird problem that enormous locks |
Дата | |
Msg-id | 4E1E7212.6090007@hogranch.com обсуждение исходный текст |
Ответ на | Re: Weird problem that enormous locks (Tony Wang <wwwjfy@gmail.com>) |
Ответы |
Re: Weird problem that enormous locks
|
Список | pgsql-general |
On 07/13/11 8:47 PM, Tony Wang 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. that query should be quite fast. is it part of a larger transaction? is there any possibility of multiple sessions/connections accessing the same player.id? it would be interesting to identify the process that issued the exclusive lock and determine what query/queries its made. if its not apparent in pg_stat_activity, perhaps enable logging of all DDL commands, and check the logs. if there's a lot of active queries (you ahve 800 connections) select count(*),current_query from pg_stat_activity group by current_query order by count(*) desc; can help you make sense of them. -- john r pierce N 37, W 122 santa cruz ca mid-left coast
В списке pgsql-general по дате отправления: