2012-10-08 23 views
9

Estoy tratando de ejecutar pg_dump en el servidor PostgreSQL 9.0.4 que se ejecuta en Debian y aparece el siguiente error:Error al cargar bibliotecas compartidas: libpq.so.5: no se puede abrir el archivo de objeto compartido: No existe dicho archivo o directorio

./pg_dump: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory 

libpq.so.5 es un enlace a libpq.so.5.3 como se muestra a continuación

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 

Qué es lo que estoy haciendo mal?

Respuesta

6

¿En qué directorio están estos archivos libpq? Puedes intentar configurar la variable de entorno LD_LIBRARY_PATH para que apunte a este directorio o asegúrate de que esté en el lugar estándar.

Además, ¿por qué no se muestra el enlace libpq.so.5 en la sección "como se muestra a continuación"? ¿Tal vez deberías ejecutar ldconfig?

+1

los archivos libpq están en /opt/postgres/9.0.4/server/lib – McKibet

+2

Pruebe el comando 'LD_LIBRARY_PATH =/opt/postgres/9.0.4/server/lib./Pg_dump'. –

+2

Todavía recibo el mismo error. Incluso he probado EXPORT LD_LIBRARY_PATH =/opt/postgres/9.0.4/server/lib antes de ejecutar el comando, pero nada positivo. – McKibet

10

Prueba esto:

1: Conocer la ruta de ejemplo libpq.so.5

find/-name libpq.so.5 

Salida: /usr/pgsql-9.4/lib/libpq.so.5 Si no encontró nada, comprobar si ya ha instalado PostgreSQL-libs adecuados para su versión de PostgreSQL y su plataforma OS

2: enlace simbólico esa biblioteca en una ruta de la biblioteca "conocida" como /usr/lib:

ln -s /usr/pgsql-9.4/lib/libpq.so.5 /usr/lib/libpq.so.5 

Atención: Si la plataforma es de 64 bits, debe también enlace simbólico a 64 bits bibliotecas ruta:

ln -s /usr/pgsql-9.4/lib/libpq.so.5 /usr/lib64/libpq.so.5 

3: Sé feliz!

1

Recibí el mismo mensaje de error en Postgres 9.5 en RHEL 6.5 que me llevó a esta publicación. Pero un hallazgo para el archivo libpq.so.5 no devolvió nada, lo que hizo las cosas más confusas.

Al final los siguientes enlaces simbólicos hizo correr

ln -s /opt/rh/rh-postgresql95/root/usr/lib64/libpq.so.rh-postgresql95-5 /usr/lib64/libpq.so.rh-postgresql95-5 
ln -s /opt/rh/rh-postgresql95/root/usr/lib64/libpq.so.rh-postgresql95-5 /usr/lib/libpq.so.rh-postgresql95-5 

Estos caminos son para RHEL, utilice find/-name libpq.so a la ubicación de su instalación y agregarlo a las mismas carpetas de destino /usr/lib/ y /usr/lib64/ utilizando el nombre del archivo original.

La causa raíz parece que la instalación no colocó este archivo en una ubicación compartida.

Cuestiones relacionadas