2012-10-08 19 views
9

Sto tentando di eseguire pg_dump sul server PostgreSQL 9.0.4 in esecuzione su Debian e viene visualizzato l'errore seguente:Errore durante il caricamento delle librerie condivise: libpq.so.5: impossibile aprire il file oggetto condiviso: Nessun file o directory

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

libpq.so.5 è un link a libpq.so.5.3 come illustrato di seguito

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 

che cosa è che sto facendo male?

risposta

6

In quale directory sono questi file libpq? Puoi provare a impostare la variabile di ambiente LD_LIBRARY_PATH in modo che punti a questa directory o assicurati che sia nella posizione standard.

Inoltre, perché il collegamento libpq.so.5 non è visualizzato nella sezione "come mostrato di seguito"? Forse dovresti semplicemente eseguire ldconfig?

+1

i file libpq sono in /opt/postgres/9.0.4/server/lib – McKibet

+2

Provare il comando 'LD_LIBRARY_PATH =/opt/postgres/9.0.4/server/lib./Pg_dump'. –

+2

Ricevo ancora lo stesso errore. Ho anche provato EXPORT LD_LIBRARY_PATH =/opt/postgres/9.0.4/server/lib prima di eseguire il comando ma nulla di positivo. – McKibet

10

Prova questo:

1: conoscere il percorso di esempio libpq.so.5

find/-name libpq.so.5 

uscita: /usr/pgsql-9.4/lib/libpq.so.5 Se trovato nulla, controllare se avete già installato le opportune postgresql-libs per la versione di PostgreSQL e la vostra piattaforma OS

2: collegamento simbolico quella libreria in un percorso di libreria "ben noto" come /usr/lib:

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

Attenzione: Se la piattaforma è a 64 bit, è necessario anche link simbolico a 64 bit delle librerie percorso:

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

3: Sii felice!

1

Stavo ricevendo lo stesso messaggio di errore su Postgres 9.5 su RHEL 6.5 che mi ha portato a questo post. Ma una ricerca per il file libpq.so.5 non restituiva nulla, il che rendeva le cose più confuse.

Alla fine i seguenti link simbolici reso gestito

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 

Questi percorsi sono per RHEL, utilizzare find/-name libpq.so al percorso l'installazione e inserirlo alle stesse cartelle di destinazione /usr/lib/ e /usr/lib64/ utilizzando il nome del file originale.

La causa principale è che l'installazione non ha posizionato questo file in un percorso condiviso.

Problemi correlati