linuxdatabase

PostgreSQL: Risolvere l'errore libcrypto su Debian Jessie

Durante l’amministrazione di database PostgreSQL su sistemi Debian 8 (Jessie), può capitare che il servizio fallisca l’avvio o mostri errori relativi a librerie crittografiche mancanti, in particolare libcrypto. Questo problema è spesso legato a una gestione non ottimale delle dipendenze durante gli aggiornamenti di sistema.

In questa guida vedremo come identificare il problema e applicare la correzione necessaria per ripristinare il corretto funzionamento del database.


1. Identificazione dell’Errore

Se PostgreSQL non si avvia, il primo passo è controllare i log di sistema o tentare un avvio manuale per leggere l’output dell’errore. Spesso l’errore si presenta così:

postgresql: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

⚠️
**Nota:** Prima di apportare modifiche alle librerie di sistema, assicurati di aver fermato ogni istanza di PostgreSQL per evitare corruzioni dei dati.

2. Soluzione del Problema

La causa principale è solitamente la mancanza del pacchetto di supporto per le librerie SSL/TLS che PostgreSQL utilizza per le connessioni sicure.

Installazione delle librerie necessarie

Puoi risolvere il problema installando o reinstallando il pacchetto libssl1.0.0 e le relative dipendenze PAM che abbiamo visto essere critiche su questa versione di Debian:

# Aggiorniamo i repository
sudo apt-get update

# Installiamo le librerie di crittografia e l'integrazione PAM
sudo apt-get install libssl1.0.0 libpam-systemd

3. Verifica e Riavvio

Una volta installati i pacchetti, prova a riavviare il servizio PostgreSQL:

# Riavvio del servizio database
sudo systemctl restart postgresql

Controllo dello stato

Verifica che il servizio sia ora in esecuzione correttamente:

sudo systemctl status postgresql
💡
**Consiglio:** Se il problema persiste, verifica con il comando `ldd $(which postgres)` quali librerie risultano ancora mancanti ("not found") per indirizzare meglio l'installazione dei pacchetti corretti.