Dataphin管道任务给PostgreSQL数据库写入数据,运行报错“errororg.postgresql.util.PSQLException: 不支援 10 验证类型”

更新时间:

问题描述

Dataphin管道任务给PostgreSQL数据库写入数据,运行报错“errororg.postgresql.util.PSQLException: 不支援 10 验证类型”。完整的报错信息如下:

2023-01-05 08:39:00.235 [job-2955746] INFO  DlinkTransRunner - Dlink Writer.Job [PostgreSQL_1] do init work .
obproxy Druid LogFactory, userDefinedLogType=null, logInfo=public com.alipay.oceanbase.obproxy.druid.support.logging.Log4j2Impl(java.lang.String)
一月 05, 2023 8:39:00 上午 org.postgresql.Driver connect
严重: Connection error: 
org.postgresql.util.PSQLException: 不支援 10 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网路区段,以及驱动程序所支援的验证架构模式已被支援。
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:614)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:222)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194)
at org.postgresql.Driver.makeConnection(Driver.java:450)

问题原因

导致该问题的原因有以下三种:

  • PostgreSQL数据库的pg_hba文件没有配置开通Dataphin产品的IP段导致。该情况可以参考如下方式放开PG库的访问配置:

     

  • 如果客户PG库已经对客户端或者全网放开了,但是管道任务运行还是报上述错误,需要确认是否修改过pg_hba文件,将PG库的认证方式设置为md5。如果做过修改,需要重置PG库用户密码,然后在Dataphin数据源模块再配置保存,重试运行管道即可。或者建议用户重新添加PG用户也可以。
  • PG库版本比较高,Dataphin产品默认的驱动程序版本不兼容导致。这种场景可以使用Datapin自定义组件方式接入PostgreSQL,自定义组件方式可以自定义驱动包。

解决方案

通过自定义组件方式接入PostgreSQL,自定义组件选择兼容的驱动包之后,重建管道任务运行就没有问题了:

更多信息

PostgreSQL客户端认证

Dataphin自定义组件

适用于

  • Dataphin