Python虚拟机部署Airflow 2.8.1遇SQLAlchemy executemany_mode错误求助
Airflow 2.8.1 + SQLAlchemy 2.0.27 + PostgreSQL 15/16 报错解决:
executemany_mode: 'values'无效 问题场景
在Python虚拟环境部署Airflow 2.8.1,搭配PostgreSQL 15/16和SQLAlchemy 2.0.27时,触发以下错误:
File "/home/bigdata/airflow/afvenv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 1734, in parse_user_argument_for_enum raise exc.ArgumentError(f"Invalid value for '{name}': {arg!r}") sqlalchemy.exc.ArgumentError: Invalid value for 'executemany_mode': 'values'
解决方法
该错误源于SQLAlchemy 2.0+对PostgreSQL的executemany_mode参数有效值做了调整,而Airflow 2.8.1默认配置仍使用旧值'values',以下是两种可行修复方案:
方案1:修改数据库连接串参数
打开Airflow配置文件airflow.cfg,找到sql_alchemy_conn对应的PostgreSQL连接串,将executemany_mode参数值改为'batch'(SQLAlchemy 2.0+支持的有效值)。示例连接串:postgresql+psycopg2://user:password@host:port/dbname?executemany_mode=batch保存配置后,重启Airflow webserver、scheduler等服务使配置生效。
方案2:降级SQLAlchemy版本
若不想修改连接串,可将SQLAlchemy版本降级至2.0.26及以下(该版本仍支持'values'参数值),执行命令:pip install sqlalchemy==2.0.26
内容的提问来源于stack exchange,提问作者earappa ag
相关产品推荐
相关产品推荐

