0
我的疑問是非常SQLish但aiopg/psycopg2自動提交和交易
由於psycopg2異步連接是自動提交,我手動設置定義的事務,然後在相同的光標/連接關閉。
這樣的:
async def transaction(self, queries):
async with aiopg.create_pool(connection) as pool:
async with pool.acquire() as conn:
async with conn.cursor() as cur:
await cur.execute('BEGIN transaction;')
for query in queries:
await cur.execute(query)
await cur.execute('COMMIT transaction;')
我懷疑是因爲它完全地同步的,如果有一個回退將已在同一時間跨度被處理其他的命令也rolledback或將你回滾的基於連接的?
謝謝!
感謝piro,我結束了使用asyncpg,因爲內置事務我覺得比手動創建它們更安全。 – monobot