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 по дате отправления: