postgresql Apache气流-安装问题:sqlalchemy.exc.ProgrammingError:(psycopg2.errors.InvalidSchemaName)尚未选择要在其中创建的架构

qfe3c7zg  于 2023-03-01  发布在  PostgreSQL
关注(0)|答案(2)|浏览(148)

我试图安装气流Ubuntu 20.04虚拟机与PostgreSQL数据库,我以前没有任何问题。
在DB设置部分,我仔细地按照Airflow安装:
https://airflow.apache.org/docs/apache-airflow/stable/howto/set-up-database.html
我在尝试使用以下命令初始化数据库后遇到问题:

airflow db init

给了我:
sqlalchemy.exc.ProgrammingError:(psycopg2.errors.InvalidSchemaName)尚未选择要在其中创建的架构
上面写着:
还请注意,由于SqlAlchemy不公开以数据库URI中的特定架构为目标的方法,因此您可能希望使用类似于的SQL语句为您的角色设置默认架构

ALTER ROLE username SET search_path = airflow, foobar;

我假设我必须使用这个,因为教程没有说明airflow db使用哪个模式:

ALTER ROLE airflow_user SET search_path = airflow;

这样做,重新加载psql conf,重新启动DB服务器,整个机器-同样的错误。

b1zrtrql

b1zrtrql1#

切换到DB帐户:

sudo -i -u postgres

转到psql提示符:

psql

连接到气流数据库:

\c airflow_db

运行:

ALTER ROLE airflow_user SET search_path = airflow, public;

现在快跑

airflow init db

它应该初始化数据库良好。

kuuvgm7e

kuuvgm7e2#

切换到DB帐户并启动psql:

sudo -u postgres psql

在psql中为气流用户创建气流模式:

CREATE SCHEMA IF NOT EXISTS airflow AUTHORIZATION airflow;

改变气流用户

ALTER ROLE airflow SET search_path = airflow, public;

退出psql并设置alchemy变量:

export AIRFLOW__DATABASE__SQL_ALCHEMY_CONN="postgresql://airflow:you_passowrd@localhost:5432/airflow?options=-csearch_path%3Dairflow"
export AIRFLOW__DATABASE__SQL_ALCHEMY_SCHEMA="airflow"

Initialize airflow db:
airflow db init

相关问题