我尝试在运行于Debian上的PostgreSQL 9.0.4服务器上执行pg_dump
,并收到以下错误:
./pg_dump: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory
libpq.so.5
是指向libpq.so.5.3
的链接,如下所示
lrwxrwxrwx 1 root root 12 Jun 27 16:24 libpq.so.5 -> libpq.so.5.3
-rwxr-xr-x 1 root root 180749 Jun 21 02:43 libpq.so.5.3
我到底做错了什么?
8条答案
按热度按时间u2nhd7ah1#
试试这个:
1:知道
libpq.so.5
的路径输出示例:
/usr/pgsql-9.4/lib/libpq.so.5
如果未找到任何内容,请检查是否已安装适合您的postgresql版本和操作系统平台的postgresql-libs2:符号链接"众所周知"的库路径中的库,如
/usr/lib
:注意:如果您的平台是64位,您还必须符号链接到64位库路径:
3:要快乐!
v09wglhw2#
这些
libpq
文件在哪个目录下?你可以尝试设置环境变量LD_LIBRARY_PATH
指向这个目录,或者确保它在标准位置。另外,为什么
libpq.so.5
链接没有显示在“如下所示”部分?也许你应该直接运行ldconfig
?vawmfj5a3#
Ubuntu 21.10以上版本
由于这是搜索结果中最多的错误,我将添加一个更新的答案。我在尝试启动django服务器时收到了这个错误。
我没有安装postgres的东西。
试试看:
参见:
iswrvxsc4#
我在RHEL 6.5上的Postgres 9.5上也收到了同样的错误消息,导致我发了这篇文章。但是对文件
libpq.so.5
的查找没有返回任何东西,这使事情更加混乱。最后,以下符号链接使其运行
这些路径用于RHEL,请使用
find / -name libpq.so
定位您的安装,并使用原始文件名将其添加到相同的目标文件夹/usr/lib/
和/usr/lib64/
。根本原因似乎是安装程序没有将此文件放置到共享位置。
mbjcgjjk5#
发生此错误的原因可能是未设置
$LD_LIBRARY_PATH
环境变量。当您使用前缀(
./configure --prefix=/some/path
)从源代码安装应用程序时,您必须通知您的lib/
路径在哪里。我刚刚找到了一个solution for this,并将此变量添加到postgres用户init bash脚本中:jvlzgdj96#
redhat 7在安装
yum install pgadmin4
后缺少几个步骤:你就可以跑了
并且如果全部成功:
并确保httpd启动正常
cvxl0en27#
当从存储故障中恢复时,我在pg 12重新安装时遇到了完全相同的问题。我通过安装postgressql共享库修复了它
yi0zb3m48#
我在安装PG9.6时遇到了同样的问题,我是这样修复的,安装程序没有考虑到这一点,这让我很恼火。