起因:

在windows下安装TimescaleDB的时候遇到了这个报错,但是查找了对应目录,文件确实存在这个目录下

错误:无法加载库”D:/PostgreSQL/14/lib/timescaledb-2.12.2.dll”: The specified module could notbefound.

版本号

PostgreSQL 15.2

TimescaleDB 2.12.2

操作系统Windows 11

尝试过的解决办法

以下方法对我都没用,但是或许可以帮助到别人

  1. 查看环境变量(一般不会是这个问题,因为postgresql都正常)
  2. postgresql和timescaledb的版本不对应,不可能,因为我是按照对应版本从官网下载的
  3. 重启postgresql服务,不行
  4. 怀疑是权限的问题,修改了…/PostgreSQL/14目录的权限,又以管理员身份重新安装了一次TimescaleDB
  5. https://stackoverflow.com/questions/75481512/error-postgresql-15-lib-timescaledb-2-9-3-dll-unable-to-load-library-the-specifhttps://stackoverflow.com/questions/75481512/error-postgresql-15-lib-timescaledb-2-9-3-dll-unable-to-load-library-the-specifStackOverflow上有人提出了同样的问题,按照回答检查了安装目录/data/postgresql.conf中的shared_preload_libraries字段有没有被成功设置shared_preload_libraries = ‘timescaledb’
  6. 按照下面这个github链接上说的似乎可以把mingw的bin目录放到postgresql安装目录的lib下?https://github.com/timescale/timescaledb/issues/5631https://github.com/timescale/timescaledb/issues/5631
  7. 根据这个github链接中的解决方法检查了下面两个条件,一个ssl一个mingw,注意,这个人说openssl1.1.1,我检查了版本也正确nullWhat type of bug is this” />https://github.com/timescale/timescaledb/issues/5879
  8. 其他人提供的解决办法还有:

最后根据官方说明解决了问题

Timescale Documentation | Install TimescaleDB on WindowsInstall self-hosted TimescaleDB on Windowshttps://docs.timescale.com/self-hosted/latest/install/installation-windows/安装TimescaleDB 2.11.2以上(对应的PostgreSQL版本应该是13)需要OpenSSL 3.x的版本,于是去安装了openssl 3.x,配置了环境变量,重新安装TimescaleDB,然后根据提示重启PostgreSQL,成功