首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL问题:无法访问文件"$libdir/plpgsql":没有这样的文件或目录

PostgreSQL问题:无法访问文件"$libdir/plpgsql":没有这样的文件或目录
EN

Stack Overflow用户
提问于 2011-07-29 21:48:51
回答 3查看 11.2K关注 0票数 7

我在PostgreSQL中得到了这个异常:

代码语言:javascript
复制
org.postgresql.util.PSQLException: ERROR: could not access file "$libdir/plpgsql": No such file or directory
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1721)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1489)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:193)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)

我搜索了很多,大多数解决方案都指向错误的安装。但这是我的测试数据库,它已经运行了很长一段时间没有问题。同样,插入也在起作用。问题仅发生在select查询上。

EN

回答 3

Stack Overflow用户

发布于 2011-07-30 03:58:23

显然,您将PostgreSQL库目录移出了位置。要确认这一点,请在psql中尝试以下命令:

代码语言:javascript
复制
> SET client_encoding TO iso88591;
ERROR:  could not access file "$libdir/utf8_and_iso8859_1": No such file or directory

如果你得到这样的错误信息,那么我的理论是正确的。您需要找出这些文件的结束位置,或者您可以重新安装PostgreSQL来恢复它们。

要找出$libdir指的是什么,请运行以下命令:

代码语言:javascript
复制
pg_config --pkglibdir

对我来说,这产生了:

代码语言:javascript
复制
/usr/lib/postgresql
票数 7
EN

Stack Overflow用户

发布于 2012-05-22 22:24:59

我遇到了同样的问题:另一个postgres服务器实例( 8.4 )干扰了9.1服务器实例;当删除8.4实例时,它可以正常工作。

票数 2
EN

Stack Overflow用户

发布于 2014-01-18 00:04:35

另一个实例有时可以在运行时从系统中删除(例如,您在不停止和迁移数据的情况下执行gentoo更新和depclean )。所以这个错误看起来特别神秘。

解决方案通常是对旧版本进行插槽安装/选择(在gentoo术语中,或者只是在其他发行版上降级),运行其pg_dumpall,然后卸载/重新安装新版本并导入数据。

这对我来说很顺利。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6874164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档