Amazon redshift 使用带pandas的sqlalchemy时出现红移连接过多错误

Amazon redshift 使用带pandas的sqlalchemy时出现红移连接过多错误,amazon-redshift,Amazon Redshift,我正在flask应用程序中使用sqlalchemy来创建连接红移数据库的引擎 我有一个循环,在每个循环中执行查询并返回带有pandas.read\u sql\u query(查询字符串,引擎)的数据帧 当我运行我的程序时,我收到以下连接红移数据库的错误 psycopg2.OperationalError:致命:用户“user”的连接太多 请建议如何在flask应用程序中处理python和sqlalchemy中的错误 我尝试了poolclass=Nullpool并使用引擎.dispose() 但没

我正在flask应用程序中使用sqlalchemy来创建连接红移数据库的引擎

我有一个循环,在每个循环中执行查询并返回带有pandas.read\u sql\u query(查询字符串,引擎)的数据帧

当我运行我的程序时,我收到以下连接红移数据库的错误

psycopg2.OperationalError:致命:用户“user”的连接太多

请建议如何在flask应用程序中处理python和sqlalchemy中的错误

我尝试了poolclass=Nullpool并使用引擎.dispose() 但没有一个成功

redshift_db = create_engine(db_url)
for id in list:
  data_frame = pd.read_sql_query(sql_strung,
                                 redshift_db,
                                 params={id': id})

数据库不允许来自同一表上同一API的多个并发连接 您更希望使用单个查询:

id_list_str = ', '.join([id for id in id_list])
sql_string = "select id, x, y, z from <db_table> where id in ANY(%s)".format(id_list)
data_frame = pd.read_sql_query(sql_strung, redshift_db)
id\u list\u str=',join([id为id\u list中的id])
sql_string=“从任意(%s)中的id位置选择id、x、y、z”。格式(id列表)
data\u frame=pd.read\u sql\u查询(sql\u串,redshift\u db)
有关更多信息,请参阅AWS文档