liquibase 错误: 无法打开扩展控制文件 “c:/postgresql/14/share/extension/timescaledb.control“

背景

运行springboot项目时,在一开始运行liquibase部分报错,报错信息如题所示,经查,是因为安装postgresql时没有安装这个名为timescaledb的扩展,所以接下来就是安装timescaledb扩展。

安装timescaledb扩展

我的电脑是windows系统,按照官网的安装文档(https://docs.timescale.com/self-hosted/latest/install/installation-windows/)进行安装,但其中我有两个不一样的地方:
1.warning里面提示之前如果安装过没有包管理器的postgresql,根据官网的教程安装timescaledb可能会报错,他建议是删掉已有的postgresql,重新一起安装。或者一定要保留的话,就install from source。而我安装的时候没有注意这段。
2.Prerequisites里让预先安装的openssl和vc++,我也没确认自己电脑上是否安装过这些。
应该是因为忽略了以上两点导致了后来安装timescaledb出现了问题。
之后我按照官网流程直接安装timescaledb,注意安装位置要在postgresql的安装目录,然后我在"添加timescaled到数据库"这一步出现了问题,一执行“create extension timescaledb;”就报错,报错信息为: 无法加载库 “C:/PostgreSQL/14/lib/timescaledb-2.15.1.dll”: The specified module could not be found.可是我看到lib目录下是有timescaledb-2.15.1.dll的。接下来又开始漫长的查找资料解决这个错误。

解决:无法加载库 “C:/PostgreSQL/14/lib/timescaledb-2.15.1.dll”: The specified module could not be found.

原因

据查,这个报错出现的原因不是timescaledb-2.15.1.dll找不到,大概率是该timescaledb-2.15.1.dll调用的某个dll找不到。(参考:https://blog.csdn.net/nanbaifeiliao/article/details/109387752?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-109387752-blog-103099092.235^v43^pc_blog_bottom_relevance_base4&spm=1001.2101.3001.4242.1&utm_relevant_index=3
参考文章里给出了查找缺失的dll的方法,但是我嫌麻烦,就没去查缺失的dll,先去查有没有人遇到过同样的问题,看看能不能直接搞定。

解决过程

1.有人说是postgresql和timescaledb的版本不对应,我检查之后确认版本肯定是没问题。
2.查了半天没有头绪,我想是不是之前忽略的那两点导致的,随后我想卸载timescaledb,然后按照warning和prerequisite里的要求安装所需的东西,再重新安装timescaledb,结果官网只有卸载mac系统的timescaledb教程,没有windows教程,无奈,我就再去找找别的解决方案;
3.终于,在一篇博客的评论区找到了解决方案,原来是少了libeay32.dll和ssleay32.dll,评论区指了条解决的明路:https://github.com/timescale/timescaledb/issues/1613,参考这个问题下的解决方案,我安装了postGIS,之后再运行“create extension timescaledb;”就OK了。

总结

英语能力还是重要啊,无论是文档还是github上的解决方案都是英文的,我一看到英文就有抵触情绪,但是这次为了解决这个问题,硬着头皮也要看下去,不过现在好多了,可以找这些大模型帮忙翻译。

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值