我有一个Python应用程序,它打开一个数据库连接,可以在线挂起几个小时,但有时数据库服务器会重新启动,而Python仍然保持连接,但无法使用“OperationalError”异常。
所以我正在寻找任何可靠的方法来“ping”数据库并知道连接是否正常。我已经查看了psycopg2的文档,但找不到类似的内容。当然,我可以发出一些简单的SQL语句,如“SELECT 1”并捕获异常,但我希望有一种原生的方法,类似于PHP的pg_connection_status。
谢谢。
所以我正在寻找任何可靠的方法来“ping”数据库并知道连接是否正常。我已经查看了psycopg2的文档,但找不到类似的内容。当然,我可以发出一些简单的SQL语句,如“SELECT 1”并捕获异常,但我希望有一种原生的方法,类似于PHP的pg_connection_status。
谢谢。
cur.execute('SELECT 1')
在我这种情况下抛出了一个带有消息cursor already closed
的InterfaceError
. - raphael