加载共享库时出错:libpq.so.5:无法打开共享对象文件。没有这样的文件或目录
我试图在运行在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
我到底是哪里做错了?
21
3
试试这个。
1: 知道
libpq.so.5
的路径输出例子。
/usr/pgsql-9.4/lib/libpq.so.5
。 如果没有发现,检查是否已经为你的postgresql版本和你的操作系统平台安装了合适的postgresql-libs2:在一个`/usr/lib'等众所周知的库路径中符号链接该库。
注意。 如果你的平台是64位,你也必须符号连接到64位库的路径。
3: 开心点 !
这些
libpq
文件在哪个目录下?你可以尝试设置环境变量LD_LIBRARY_PATH
来指向这个目录,或者确保它在标准位置。另外,为什么
libpq.so.5
链接没有显示在"如下所示"部分?也许你应该直接运行ldconfig
?我在RHEL 6.5的Postgres 9.5上得到了同样的错误信息,这让我看到了这个帖子。 但在查找文件
libpq.so.5
时没有得到任何结果,这使事情变得更加混乱。最后,以下的符号链接使其运行
这些路径适用于RHEL,使用
find / -name libpq.so
来定位你的安装,并使用原始文件名将其添加到相同的目标文件夹/usr/lib/
和/usr/lib64/
。根本原因似乎是安装时没有把这个文件放到一个共享位置。