在aiopg中,连接池使用的是asyncio实现的,可以使用'with await pool.acquire() as conn:”的方式获取连接,当with语句执行完时,连接会自动归还给连接池。 因此,在aiopg中使用engine.acquire()时不需要手动关闭连接,连接会自动被归还到连接池。可以使用以下示例代码进行测试:
import asyncio
import aiopg
async def test_aiopg():
pool = await aiopg.create_pool(database='dbname', user='user', password='password', host='host', port='port')
async with pool.acquire() as conn:
async with conn.cursor() as cur:
await cur.execute("SELECT * FROM table")
rows = await cur.fetchall()
print(rows)
loop = asyncio.get_event_loop()
loop.run_until_complete(test_aiopg())