我要做的是将这个用bash编写的webodm(https://gist.github.com/lkpanganiban/5226cc8dd59cb39cdc1946259c3fea6e)的安装脚本转换为在freenas jail下的tcsh shell中使用。
我现在已进入无法找到解决方案的部分,我希望有人可以点亮我下一步该做什么。
触发问题的线是:
su - postgres -c "psql -d webodm_dev -c "\""CREATE EXTENSION postgis;"\"" "
整个错误行:
ERROR: could not load library "/usr/local/lib/postgresql/plpgsql.so": dlopen (/usr/local/lib/postgresql/plpgsql.so) failed: /usr/local/lib/postgresql/plpgsql.so: Undefined symbol "MakeExpandedObjectReadOnly"
pkg信息给:
postgis24-2.4.5_1 Geographic objects support for PostgreSQL databases
postgresql95-client-9.5.15_2 PostgreSQL database (client)
postgresql95-contrib-9.5.15_2 The contrib utilities from the PostgreSQL distribution
postgresql95-server-9.5.15_2 PostgreSQL is the most advanced open-source database available anywhere
是的文件存在:
root@webodm2:~ # ls -l /usr/local/lib/postgresql/plpgsql.so
-rwxr-xr-x 1 root wheel 195119 Feb 7 18:16 /usr/local/lib/postgresql/plpgsql.so
root@webodm2:~ #
所以任何人都有一些想法?
该错误消息意味着您有来自PostgreSQL 9.5或更早版本的plpgsql.so
并尝试将其与PostgreSQL 9.6或更高版本一起使用。
您要么选错了库,要么复制文件。
无论如何,这个问题与PostGIS无关。