У меня есть приложение, основанное на flask + sqlalchemy, которое подключается к PostgreSQL. И, кажется, во время некоторых проблем с сетью соединение со вставкой, занимающее блокировку, устарело, и дальнейшие попытки получить ошибку
(psycopg2.errors.LockNotAvailable) canceling statement due to lock timeout\\n
CONTEXT: while inserting index tuple (10537404,29) in relation
У меня SQLALCHEMY_POOL_RECYCLE = 600, и блокировка была недоступна в течение 15 ~ 16 минут. Я не понимаю почему. В SQLAlchemy doc о перезапуске пула говорится, что аннулирование соединения происходит только во время извлечения. Когда оформить заказ, если я использую db.session
? И поможет ли установка idle_in_transaction_session_timeout
на 4 минуты в базе данных раньше снять эту блокировку?