asyncpg是一个Python异步PostgreSQL数据库驱动程序。要在PostgreSQL数据库中插入大量数据,可以使用asyncpg提供的批量插入功能。
以下是一个使用asyncpg进行批量插入的示例代码:
import asyncpg
import asyncio
async def insert_data():
# 创建数据库连接
conn = await asyncpg.connect(user='your_user', password='your_password',
database='your_database', host='your_host')
# 准备要插入的数据
data = [('John', 25), ('Jane', 30), ('Bob', 40)]
try:
# 开始事务
async with conn.transaction():
# 创建一个 prepared statement
stmt = await conn.prepare('INSERT INTO users(name, age) VALUES($1, $2)')
# 执行批量插入
await stmt.executemany(data)
finally:
# 关闭数据库连接
await conn.close()
# 运行异步函数
loop = asyncio.get_event_loop()
loop.run_until_complete(insert_data())
在上面的示例中,我们首先创建了一个数据库连接,并准备要插入的数据。然后,我们通过使用conn.transaction()
创建一个事务,并使用conn.prepare()
创建一个prepared statement。最后,我们使用stmt.executemany()
执行批量插入。
这样,我们就可以使用asyncpg在PostgreSQL数据库中插入大量数据了。