我有基于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分钟有助于更早地释放此锁定吗?