аналогии с MS SQL?
Есть важная функция, которая иногда становится жертвой дедлока. Хочется, чтобы жертвой всегда был кто-то другой )
В сессии где происходит вызов функции попробуйте увеличить deadlock_timeout. Если я правильно помню при дедлоке отстреливается именно тот кто первый запустил проверку и обнаружил себя участником дедлока.
Нет. И "игры" с deadlock_timeout — это не совсем (а, если честно, совсем не) то.
Вы имеете в виду что "игры" с deadlock_timeout всего лишь откладывает проблему, и на самом деле надо решать вопрос с сериализацией чтобы дедлоков не возникало вообще? или какие-то другие соображения?
Да, всего лишь откладывают, т.е. в некоторых случаях ничего не решают, как ни "играй". И на самом деле надо решать проблему, я считаю — исправлять deadlock handling в самом PostgreSQL, чтобы устранить эту возможность starvation (кстати, тут это уже как-то обсуждалось).
И как такое можно исправить (ну хотя бы примерные идеи)? Т.е., если я правильно понял вопрошающего, хочется задавать приоритет какой-то. Неужели указывать приоритет при выполнии запроса?)
Обсуждают сегодня