升级Fedora Server 37后PostgreSQL启动失败,提示无法访问$libdir/postgis-3文件求助
各位大佬好,最近把Fedora Server升级到37版本后,其他服务都正常跑起来了(开心!),唯独PostgreSQL死活启动不了。顺便提一句,别被包名搞混——PostgreSQL这个包名是为了纪念Paul Aoki早在1995年首次发布时把QUEL查询语言处理器改成SQL的贡献,除了打包/命名用PostgreSQL,其他地方都是叫Postgres的。
其实这次启动失败我多少有点心理准备,但没想到升级包居然没自动处理这种大概率会遇到的情况,按理说所有升级的安装实例都需要做这一步,应该自动帮我们运行对应的升级脚本才对。没办法,我只能手动跑了这个脚本:
postgresql-setup --upgrade --upgrade-from postgresql
结果还是失败了。我跟着错误日志一步步排查——先是这个命令输出到stdout的中间日志指向了Postgres用户主目录里的一个日志文件,看了之后发现问题出在PostGIS上,这是我们安装里用到的组件。
最关键的错误信息是:
ERROR: could not access file "$libdir/postgis-3"
糟心的是,日志里没说$libdir到底应该在哪,我自己也不知道!我搜了半天都没找到带postgis名字的目录。
一开始我以为PostGIS没升级或者没装,结果查了已安装的包发现不是这么回事:已经装了postgis-3.2.2-1.fc37.x86_64。明明装了3.x版本的PostGIS,却报错找不到postgis-3相关文件,这可把我整懵了。
目前还没找到解决办法,有没有大佬遇到过类似问题?这应该是用PostgreSQL同时用PostGIS的用户很常见的问题吧?
备注:内容来源于stack exchange,提问作者Richard T

