以下是可能出现此错误的一个实际问题并给出了解决方法。
错误信息:ERROR - Can't connect: Can't create database 'airflow_db'; database exists
该错误发生在使用Airflow时,尝试在Airflow UI中运行DAG的任务实例时。通过查看错误日志,我们可以找到由SQLAlchemy引发的错误。
造成这个问题的原因是在运行Airflow之前,我们已经使用PostgreSQL创建了一个名为“airflow_db”的数据库。然后,在Airflow配置中指定了同一个数据库。但是,此处的Airflow数据库初始化代码会试图重建这个现有数据库,从而导致失败。
要解决此问题,请打开Airflow配置文件(airflow.cfg)并将如下所示的'airflow_db'更改为另一个数据库名称。
SQLALCHEMY_DATABASE_URI = postgresql+psycopg2://
另外,还可以通过运行以下命令来将Airflow zurück设置为其初始状态,并删除Airflow数据库:
airflow resetdb -y
这将删除Airflow数据库及其所有记录,因此需谨慎使用。