在psycopg2中重用连接池是通过使用psycopg2.pool.SimpleConnectionPool
类来实现的。下面是一个示例代码:
import psycopg2
from psycopg2 import pool
# 创建连接池
connection_pool = psycopg2.pool.SimpleConnectionPool(
minconn=1,
maxconn=10,
dbname='your_database_name',
user='your_username',
password='your_password',
host='your_host',
port='your_port'
)
# 从连接池获取连接
connection = connection_pool.getconn()
# 执行SQL查询
cursor = connection.cursor()
cursor.execute("SELECT * FROM your_table")
rows = cursor.fetchall()
for row in rows:
print(row)
# 将连接返回到连接池
connection_pool.putconn(connection)
在上面的示例中,我们首先使用psycopg2.pool.SimpleConnectionPool
类创建了一个连接池对象。minconn
参数指定了连接池中最小的连接数,maxconn
参数指定了连接池中最大的连接数。然后,我们可以使用getconn()
方法从连接池中获取一个连接。获取连接后,我们可以执行SQL查询,并处理查询结果。最后,我们使用putconn()
方法将连接返回到连接池中,以便其他代码可以重用它。
请注意,这只是一个简单的示例,实际使用中可能会有更多的错误处理和连接管理。此外,确保在不再需要连接时始终将其返回到连接池中,以避免资源泄漏。