我已经在CentOS 5机器上运行了Davical一段时间了,没有任何问题。
昨天,我安装了Trac bug-tracker,最终迫使我通过Yum运行完整更新,更新了整堆软件包。
我似乎无法确切地解决问题所在,谷歌搜索的时间似乎并没有带来很多想法。
有没有人遇到同样的问题,或者有没有人能指出一种方法可以更好地识别最新情况?
非常感谢!
完整错误读数:
[Wed May 11 17:52:53 2011] [error] davical:LOG:always:Query:QF:SQL error“58P01” - ERROR:无法加载库“/usr/lib/pgsql/plpgsql.so “:/ usr / lib / pgsql / plpgsql.so:未定义的符号: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已安装
答案 0 :(得分:6)
之前我遇到过这个问题,虽然用8.4而不是8.1,但问题是相同的,我相信。
最近对PostgreSQL支持的所有维护分支进行了小幅升级,在服务器中引入了函数PinPortal
,并使PL / pgSQL使用它。因此,如果您使用较新版本的plpgsql.so
和旧版本的服务器,则会出现此错误。在您的情况下,变化发生在8.1.21和8.1.22之间。即使所有已安装的软件包都显示较新版本,您也需要重新启动服务器以确保实际使用较新版本。
问题是,只要安装较新的PL / pgSQL,它就会被启动的下一个会话使用,但在重新启动服务器之前,新的服务器二进制文件将不会被使用。因此,如果您的升级过程没有立即重新启动服务器,那么只要某些东西试图使用PL / pgSQL,您就会遇到这些错误。如果这实际上是问题,您可能想要查看服务器未重新启动的原因。