postgresql - 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,重新启动数据库服务器,整台机器 - 同样的错误。
解决方案
切换到数据库帐户:
sudo -i -u postgres
转到 psql 提示符:
psql
连接到气流数据库:
\c airflow_db
跑:
ALTER ROLE airflow_user SET search_path = airflow, public;
现在运行
airflow init db
它应该很好地初始化数据库。
推荐阅读
- php - 如何在 PHP/Laravel 中 POST 后保留克隆的字段值
- ios - 结合超时链接
- reactjs - 开玩笑:接听电话数:0
- jquery - 我的 jquery 代码在 safari 旧版本中不支持,但在最新版本和 chrome 上也可以正常工作
- node.js - 服务器响应不需要的响应?
- python-3.x - Python GEKKO 中基于 ODE 或 PDE 的生态系统模型最合适的求解方法是什么?
- python - 如何将用户输入完全转换为用于训练分类器的处理数据?我想对用户输入文本进行情感分析
- python - 向量化双 for 循环
- javascript - Java 通过将零添加到以下格式 XX.xxxxxx 来转换用户的输入
- json - 从 json 文件在 tableview 中打开 pdf