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

Windows正常的Java PostgreSQL连接代码在Linux上遇pg_hba.conf错误

解决Talend生成代码在RunDeck执行时PostgreSQL连接pg_hba.conf错误

问题场景

Talend生成的Java代码在Windows 10本地可正常连接RHEL 8.2服务器上的PostgreSQL数据库并查询数据,但通过Linux本地的RunDeck执行该代码时,抛出如下错误:

org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host

矛盾点:在同一Linux主机上,以postgres用户身份执行psql -h [server ip] -p 5432 -d my_special_db -U my_db_user命令,能够正常登录目标数据库。

已尝试的排查操作

  • 检查PostgreSQL服务器设置、pg_hba.conf文件内容、数据库用户权限及服务器日志
  • 新增pg_hba.conf中的IP允许规则
  • 调整Java连接参数中的SSL配置(如设置sslfactory=org.postgresql.ssl.NonValidatingFactory)

以上操作均未能解决问题。

最终定位的问题根源及修复方案

经过进一步排查,确定问题由以下三点导致:

  1. 配置文件指向错误:Talend生成代码所依赖的配置文件未正确配置目标PostgreSQL服务器地址和数据库名称,导致连接请求发送至错误的地址
  2. 日志级别不足以排查问题:默认日志级别为warning,无法输出连接过程的详细信息;将日志级别调整为debug5后,才发现连接目标地址错误的关键线索
  3. pg_hba.conf规则误删:多次修改pg_hba.conf文件时,不小心删除了允许当前Linux主机IP连接的规则条目

针对上述三个问题逐一修正后,RunDeck执行Talend代码时的PostgreSQL连接问题得到解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:24:18