添加到本地主机数据库的气流连接(在 docker 上运行的 postgres)

joe*_*uch 3 postgresql docker airflow

我有一个本地运行的 dockerized postgres,我可以通过 pgAdmin4 和psql.

使用相同的连接详细信息,我在 UI 上设置了气流连接

在此输入图像描述

但是,当尝试加载使用该连接的 DAG 时,它会抛出错误:

损坏的 DAG:[/usr/local/airflow/dags/s3upload.py] 回溯(最近一次调用最后一次):文件“/usr/local/lib/python3.7/site-packages/airflow/providers/postgres/hooks/ postgres.py”,第 113 行,在 get_conn self.conn = psycopg2.connect(**conn_args) 文件“/usr/local/lib/python3.7/site-packages/psycopg2/ init .py”,第 127 行,在connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync) psycopg2.OperationalError: 无法连接到服务器: 连接被拒绝 服务器是否在主机“127.0.0.1”上运行并接受端口 54320 上的 TCP/IP 连接?

如前所述,postgres 实例正在运行,并且端口转发处于活动状态,如成功的 pgAdmin 和psql登录所证明的那样。

有任何想法吗?

pal*_*taa 9

use host.docker.internal,它将指向您的本地主机而不是容器本地主机,如果 pg 端口映射到您的 5432 端口,它将起作用。