Почему это предложение SQL застревает и не завершается

Я использую PostgreSQL, и все запросы работали нормально для всех наших пользователей. Но только не сейчас. Несколько часов назад некоторые предложения не работают для некоторых пользователей. Например:

select comments from appointments_appointmentlog where id=102501539;

Если я запускаю это предложение в инструменте psql, оно работает нормально. Но если я использую другой идентификатор (один из проблемных), то он застревает:

UPDATE appointments_appointmentlog SET comments='A' WHERE id=30042047;

Команда select работает нормально, хотя:

select comments from appointments_appointmentlog where id=30042047;

Есть идеи, что может произойти? Нужна ли вам какая-либо дополнительная информация? Также, в качестве примечания, я могу обновлять, создавать и удалять другие строки в той же appointments_appointmentlog таблице.

Примечание: не уверен, имеет ли это значение, но мы используем Django 1.1 (знаю, знаю, слишком старый). Проблема также может быть воспроизведена с помощью raw sql, хотя и без использования django.

Редактировать

Как сказал @a_horse_with_no_name в комментариях, это замок:

LOG:  process 3637036 still waiting for ShareLock on transaction 2604361155 after 4413702.724 ms
DETAIL:  Process holding the lock: 3635781. Wait queue: 3637036.
CONTEXT:  while deleting tuple (429566,2) in relation "appointments_appointmentlog"
STATEMENT:  DELETE FROM "appointments_appointmentlog" WHERE "appointments_appointmentlog"."id" IN (30042047)

Не знаю, как его разблокировать.

Вернуться на верх