Debezium PostgreSQL 连接器无法连接 openGauss7.0.0-RC1

我正在尝试使用 Debezium(CDC工具)的 PostgreSQL 连接器 来捕获 openGauss 数据库的数据变更。但连接器在配置验证阶段就失败了,提示我的数据库版本低于 PostgreSQL 9.4。
报错 “Cannot connect to a version of Postgres lower than 9.4”

Docker镜像版本

OpenGauss: openGauss-lite 7.0.0-RC1
Debezium: debezium-connect:2.7.3.final

环境详情

  • 数据库 : openGauss-lite 7.0.0-RC1 (Docker部署)
  • Debezium 版本 : 2.7.3.Final (Kafka Connect 3.7.0)
  • 已确认的数据库配置 :
    • wal_level = logical
    • 已创建具有 REPLICATION 权限的专用于户
    • 逻辑复制槽相关参数 (max_replication_slots 等) 已正确设置

使用 Debezium 的配置验证接口 /connector-plugins/PostgresConnector/config/validate 返回了明确错误:

“Error while validating connector config: Cannot connect to a version of Postgres lower than 9.4”
此错误发生在验证 database.hostname 参数时,连接器尚未尝试建立实际连接

已尝试的解决方案 (均未成功)

  1. 设置版本覆盖参数 : 在连接器配置中添加 "database.version": "12.0""database.version.override": true
  2. 尝试不同连接器参数 : 如 database.systemdatabase.sslmode 等。
  3. 调整 Debezium 容器启动参数 : 尝试通过 JAVA_OPTS /CONNECT_OPTS 或直接修改启动脚本加入 -Ddebezium.connector.postgresql.skip.version.check=true 来跳过版本检查,但该JVM参数未能成功注入 到容器的Java进程中。
  4. 更换 Debezium 版本 : 降级到兼容性反馈较好的 2.6.1.Final 版本问题依旧。

核心疑问

  1. 版本识别问题 :openGauss-lite 7.0.0-RC1 返回的版本字符串是什么?Debezium 是如何解析并判定其版本“低于 9.4”的?
  2. 内核支持问题 :根据社区邮件列表的线索,Debezium 正常运行需要数据库支持“在逻辑复制(流复制)连接中执行普通SQL查询 ”。openGauss-lite 7.0.0-RC1 是否完整支持此特性? 如果不支持,从哪个版本开始支持?
  3. 官方兼容性 :是否有官方推荐或验证过 的 Debezium 与 openGauss(特别是非企业版)的版本组合?
  • 在 openGauss 中执行 SELECT version(); 返回的结果是:(openGauss-lite 7.0.0-RC1 build 08085c8f) compiled at 2025-03-12 10:44:09 commit 0 last mr release
  • 我通过分析 Debezium 的验证接口输出,确认了错误发生在验证阶段,而非实际连接阶段。

debezium postgresql connector不能直接用来连接openGauss,社区基于debezium1.8.1Final的postgresql connector实现了自己的openGauss connector,代码仓:

使用指导: