微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 无法加载库“/usr/lib/pgsql/plpgsql.so”和未定义的符号:PinPortal

我已经在CentOS 5机器上运行了Davical一段时间,没有任何问题.

然而,昨天我安装了Trac bug-tracker,最终迫使我通过Yum运行完整更新,更新了整堆软件包.

我似乎无法确切地解决问题所在,谷歌搜索的时间似乎并没有带来很多想法.

有没有人有同样的问题或任何人都可以指出一种方法来更好地确定发生了什么?

非常感谢!

完整错误读数:

[Wed May 11 17:52:53 2011] [error] davical: LOG: always: Query: QF: sql error “58P01” – ERROR: Could not load library “/usr/lib/pgsql/plpgsql.so”: /usr/lib/pgsql/plpgsql.so: undefined symbol: PinPortal”

检查文件是否存在

[@shogun~]#tree -a /usr/lib / pgsql / | grep“plpgsql

| – plpgsql.so

已安装的pg版本

[@shogun~] #pg_config | grep“VERSION”

VERSION = Postgresql 8.1.23

[@shogun postgresql-8.3.8] #yum list installed | grep’post’

postgresql.i386 8.1.23-1.el5_6.1已安装

postgresql-devel.i386 8.1.23-1.el5_6.1已安装

postgresql-libs.i386 8.1.23-1.el5_6.1已安装

postgresql-python.i386 8.1.23-1.el5_6.1已安装

postgresql-server.i386 8.1.23-1.el5_6.1已安装

解决方法:

我以前遇到过这个问题,虽然用8.4代替8.1,但问题是相同的,我相信.

最近对Postgresql所有支持的维护分支进行了小幅升级,在服务器中引入了PinPortal功能,并使PL / pgsql使用它.因此,如果您使用较新版本的plpgsql.so和旧版本的服务器,则会出现此错误.在您的情况下,变化发生在8.1.21和8.1.22之间.即使所有已安装的软件包都显示较新的版本,您也需要重新启动服务器以确保实际使用的是较新的版本.

问题是,只要安装较新的PL / pgsql,它就会被下一个启动的会话使用,但在重新启动服务器之前,新的服务器二进制文件将不会被使用.因此,如果您的升级过程没有立即重新启动服务器,那么只要某些东西试图使用PL / pgsql,您就会遇到这些错误.如果这实际上是问题,您可能想要查看服务器未重新启动的原因.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐