4
如何檢查psycopg2
連接上的未清交易?我打算將它添加到我的單元/功能測試中,因爲Python的DB API使用隱式事務。如何檢查psycopg2連接上的未清交易?
如何檢查psycopg2
連接上的未清交易?我打算將它添加到我的單元/功能測試中,因爲Python的DB API使用隱式事務。如何檢查psycopg2連接上的未清交易?
您可以檢查該連接的屬性status
:
from psycopg2.extensions import STATUS_BEGIN, STATUS_READY
if conn.status == STATUS_READY:
print("No transaction in progress.")
elif conn.status == STATUS_BEGIN:
print("A transaction is in progress.")
另外,該transaction status可以connection.get_transaction_status()
獲得。
要手動檢查正在進行中的交易,你可以使用PostgreSQL的statistics collector:
SELECT * FROM pg_stat_activity WHERE state = 'idle in transaction';