You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Airflow中psycopg2.OperationalError连接问题求助

解决WSL中Airflow连接PostgreSQL的psycopg2.OperationalError问题

排查及修复步骤

  • 确认PostgreSQL服务状态
    在Windows主机的服务管理器中,检查PostgreSQL服务是否处于运行状态,未启动则手动启动并设置为自动启动。

  • 调整PostgreSQL监听配置
    找到Windows主机上PostgreSQL的配置文件(通常路径为C:\Program Files\PostgreSQL\<版本号>\data\postgresql.conf),将listen_addresses参数修改为'*',允许所有IP地址访问,修改后重启PostgreSQL服务。

  • 配置Windows防火墙规则
    在Windows防火墙中添加入站规则,允许TCP协议的5432端口通信,确保WSL环境的IP可以正常访问主机上的PostgreSQL服务。

  • 验证网络连通性
    在WSL终端执行以下命令,检查到目标主机IP的网络和端口是否可达:

    ping 172.25.16.1
    telnet 172.25.16.1 5432
    

    如果telnet无法连接,说明网络或端口存在阻塞,需优先解决网络问题。

  • 检查数据库用户权限与访问规则

    1. 通过pgAdmin登录数据库,执行SQL为postgres用户授予目标数据库权限:
      GRANT ALL PRIVILEGES ON DATABASE random_data TO postgres;
      
    2. 打开pg_hba.conf文件(与postgresql.conf同目录),添加允许WSL网段访问的规则,例如:
      host    random_data    postgres    172.25.16.0/24    scram-sha-256
      

    修改完成后重启PostgreSQL服务。

  • 尝试替换主机地址
    WSL2环境中可以使用host.docker.internal直接访问Windows主机服务,修改连接代码尝试:

    conn = psycopg2.connect(
    dbname="random_data",
    user="postgres",
    password="password",
    host="host.docker.internal",
    port="5432")
    

内容的提问来源于stack exchange,提问作者Oksana Sheremet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 01:25:57