首页 > 解决方案 > Apache Airflow - 安装问题:sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InvalidSchemaName) no schema has been selected to create in

问题描述

我正在尝试在带有 PostgreSQL DB 的 Ubuntu 20.04 虚拟机上安装 Airflow,这是我之前做过的,没有任何问题。

在数据库设置部分,我正在仔细关注 Airflow 安装:

https://airflow.apache.org/docs/apache-airflow/stable/howto/set-up-database.html

在尝试使用以下命令初始化 db 后,我遇到了问题:

airflow db init

给我:

sqlalchemy.exc.ProgrammingError: (psycopg2.errors.InvalidSchemaName) 没有选择要创建的模式

它说:

另请注意,由于 SqlAlchemy 没有公开针对数据库 URI 中特定模式的方法,因此您可能希望使用类似于以下的 SQL 语句为您的角色设置默认模式

ALTER ROLE username SET search_path = airflow, foobar;

我假设我必须使用它,因为教程没有说明气流数据库使用哪个模式:

ALTER ROLE airflow_user SET search_path = airflow;

这样做,重新加载 psql conf,重新启动数据库服务器,整台机器 - 同样的错误。

标签: postgresqlairflow

解决方案


切换到数据库帐户:

sudo -i -u postgres

转到 psql 提示符:

psql

连接到气流数据库:

\c airflow_db

跑:

ALTER ROLE airflow_user SET search_path = airflow, public;

现在运行

airflow init db

它应该很好地初始化数据库。


推荐阅读