My Postgres Tables: < /p>
исполнители < /p>
id < /li>
Rank < /li>
Group_id ссылки Группы < /li>
< /ul>
Выступления < /p>
id < /li>
Pay < /li>
erformer_id ссылки исполнители < /li> < /ul>
группы < /p>
id < /li>
< /ul>
Мне часто нужно выбрать всех исполнителей из группы и обновить все свои ряды. Но это часто приводит к тупикам, так как я делаю выбор ... для обновления Select, а другие потоки вводят одновременно. < /p>
Пример ошибки я вижу много (в Python sqlalchemy): < /p>
DBAPIError: (TransactionRollbackError) deadlock detected
DETAIL: Process 83182 waits for ShareLock on transaction 14282922; blocked by process 83171.
Process 83171 waits for ShareLock on transaction 14282925; blocked by process 83182.
HINT: See server log for query details.
'SELECT performers.id AS performers_id, performers.rank AS performers_rank, performers.group_id AS performers_group_id \nFROM performers \nWHERE performers.group_id = %(group_id_1)s FOR UPDATE' {'group_id_1': 2}
< /code>
Я также нашел несколько примеров такого поведения. < /p>
Как это исправить? Могу ли я переключиться на другой уровень блокировки транзакций? Я бы предпочел не просто прервать и пришлось повторно - я хочу, чтобы база данных позаботилась об этом утверждении для меня. Я хочу сделать довольно просто.
Подробнее здесь: https://stackoverflow.com/questions/223 ... reign-keys
Postgres блокируется с обновлением и иностранными ключами ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Pandas.dataframe.to_sql пропускает ряды с отсутствующими иностранными ключами
Anonymous » » в форуме Python - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-