gpt4 book ai didi

postgresql - 无法加载库/usr/local/lib/postgresql/plpgsql.so .. undefined symbol "MakeExpandedObjectReadOnly"

转载 作者:行者123 更新时间:2023-11-29 14:28:26 24 4
gpt4 key购买 nike

我想做的是将这个用 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:~ #

所以有人知道吗?

最佳答案

我在从 postgres 11 升级到 12 后遇到了这个问题,这里是如何为 Linux 和 Mac 修复它(没有 brew)

$ sudo su postgres

$ /usr/lib/postgresql/12/bin/pg_upgrade \
--old-datadir=/var/lib/postgresql/11/main \
--new-datadir=/var/lib/postgresql/12/main \
--old-bindir=/usr/lib/postgresql/11/bin \
--new-bindir=/usr/lib/postgresql/12/bin \
--old-options '-c config_file=/etc/postgresql/11/main/postgresql.conf' \
--new-options '-c config_file=/etc/postgresql/12/main/postgresql.conf' \

您可以添加 --check 进行干测试升级,而无需更改 postgres 安装中的任何内容。

对于安装了 brew 的 Mac 用户:

升级后运行以下命令"

$ brew postgresql-upgrade-database

关于postgresql - 无法加载库/usr/local/lib/postgresql/plpgsql.so .. undefined symbol "MakeExpandedObjectReadOnly",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55145087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com