我已经在CentOS 5上运行了一段时间了,没有问题。在
然而,昨天我安装了tracbug 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“版本”
版本=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\u 6.1
我以前也遇到过这个问题,虽然用的是8.4而不是8.1,但问题是一样的,我相信。在
最近对PostgreSQL所有支持的维护分支进行的一次小升级在服务器中引入了
PinPortal
函数,并让PL/pgSQL使用它。因此,如果使用新版本中的plpgsql.so
与旧版本的服务器一起使用,则会出现此错误。在您的例子中,更改发生在8.1.21和8.1.22之间。即使您安装的所有软件包都显示较新的版本,您也需要重新启动服务器以确保您实际使用的是较新的版本。在问题是,一旦您安装了更新的PL/pgSQL,它将被启动的下一个会话使用,但是新的服务器二进制文件将在您重新启动服务器之前使用。因此,如果您的升级过程没有立即重新启动服务器,那么一旦有人试图使用PL/pgSQL,就会不可避免地出现这些错误。如果这确实是问题所在,您可能需要回顾一下服务器没有重新启动的原因。在
相关问题 更多 >
编程相关推荐