使用CockroachDB 22.2与JOOQ 3.18.2时版本兼容报错咨询
关于CockroachDB + JOOQ版本误判报错的解析
报错的具体含义
这条报错 Database version is older than what dialect COCKROACHDB supports: 13.0.0 的核心意思是:JOOQ判定当前连接的CockroachDB版本为13.0.0,而该版本低于JOOQ对COCKROACHDB方言支持的最低版本要求。
你的推测完全正确
CockroachDB为兼容PostgreSQL生态工具链,默认会将自身版本伪装成PostgreSQL的对应版本(比如22.2版本默认伪装成PostgreSQL 13)。JOOQ在检测数据库版本时,错误地把这个伪装的PostgreSQL版本号当成了CockroachDB的真实版本,因此触发了版本不兼容的错误——毕竟JOOQ支持矩阵明确标注3.13+版本支持CockroachDB 20+,13.0.0自然不符合要求。
可行的临时解决方案
- 修改CockroachDB的
server_version配置项,让它向JOOQ暴露真实的CockroachDB版本号 - 在JOOQ的配置中强制指定方言为
COCKROACHDB,并手动配置正确的CockroachDB版本号
内容的提问来源于stack exchange,提问作者Ondra Žižka
相关产品推荐
相关产品推荐

