set transaction\query timeout in psycopg2?

后端 未结 3 1869
甜味超标
甜味超标 2020-12-15 05:32

Is there a way to set a timeout in psycopg2 for db transactions or for db queries?

A sample use-case:
Heroku limits django web requests to 30sec

3条回答
  •  一生所求
    2020-12-15 05:36

    You can set a per-statement timeout at any time using SQL. For example:

    SET statement_timeout = '2s'
    

    will abort any statement (following it) that takes more than 2 seconds (you can use any valid unit as 's' or 'ms'). Note that when a statement timeouts, psycopg raises an exception and it is your care to catch it and act appropriately.

提交回复
热议问题