Errore di PostgreSQL “Impossibile connettersi al server”: come risolverlo
L’errore di PostgreSQL “Impossibile connettersi al server” può verificarsi per vari motivi. Spesso per risolverlo è sufficiente riavviare il sistema di gestione di base di dati (DBMS) open source o regolare le impostazioni TCP/IP.
Requisiti
- Un server cloud che usi Linux (CentOS 7 o Ubuntu 16.04)
- Avere PostgreSQL installato e funzionante.
- Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
- Storage SSD NVMe veloce
- Plesk Web Host Edition incluso
“Impossibile connettersi al server: nessun file o directory di questo tipo”
L’errore PostgreSQL “Impossibile connettersi al server: nessun file o directory di questo tipo” di solito indica che l’esecuzione di PostgreSQL non è avvenuta. Tuttavia, l’errore è in realtà spesso legato a problemi relativi ai permessi richiesti.
Per prima cosa, usate il comando systemctl status postgresql per controllare lo stato di PostgreSQL:
user@localhost:~# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: **active** (exited) since Thu 2017-03-23 21:34:03 UTC; 14s ago
Main PID: 24289 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/postgresql.service
Mar 23 21:34:03 localhost.localdomain systemd[1]: Starting PostgreSQL RDBMS...
Mar 23 21:34:03 localhost.localdomain systemd[1]: Started PostgreSQL RDBMS.
Mar 23 21:34:08 localhost.localdomain systemd[1]: Started PostgreSQL RDBMS.
Se visualizzate lo stato come attivo, riavviate PostgreSQL con il comando systemctl restart postgresql. Se invece visualizzate lo stato come inattivo, avviate PostgreSQL con il comando systemctl start posgresql.
Se un riavvio non risolve il problema, controllate invece i permessi della vostra directory aventi il percorso /var/lib/postgresql/9.6/main. Il numero di versione indicato, 9.6, può differire a seconda dell’installazione. Ci si aspetta che i permessi per le cartelle siano impostati a “0700” e quelli per i file a “0600”. Questo significa che le cartelle devono avere dei permessi di lettura, scrittura ed esecuzione e i file devono disporre dei permessi di lettura e scrittura. Usate il comando ls nel percorso menzionato sopra per visualizzare i permessi correnti.
Se i permessi sono impostati in modo diverso eseguite i seguenti comandi nella riga di comando:
sudo chown -R postgres:postgres /var/lib/postgresql/9.6/
sudo chmod -R u=rwX,go= /var/lib/postgresql/9.6/
Riavviate quindi PostgreSQL come mostrato in precedenza.
“Impossibile connettersi al server: connessione rifiutata”
Un’altra variante dell’errore su PostgreSQL è “Impossibile connettersi al server: connessione rifiutata”.
In questo caso, bisognerà per prima cosa usare il comando systemctl-status postgresql per verificare che PostgreSQL sia in esecuzione. Per averne la certezza, potete anche riavviare il programma con il comando systemctl restart postgresql.
Se questo passaggio non risolve il problema, la causa più probabile di questo errore è la mancata configurazione di PostgreSQL per permettere connessioni TCP/IP.
Per correggerlo, modificate il vostro file posgresql.conf, che può essere trovato in uno dei seguenti percorsi di file, a seconda della vostra distribuzione Linux:
- Ubuntu 16.04: sudo nano /etc/postgresql/9.5/main/posgresql.conf
- CentOS 7: sudo nano /usr/pgsql-10/share/postgresql.conf
Controllate la configurazione di listen_address. Per permettere connessioni TCP/IP, questa dovrebbe essere impostata su “0.0.0.0” (per consentire le connessioni da tutti gli indirizzi IP) o all’indirizzo IP specifico del server a cui è consentito connettersi.
Se questa configurazione è lasciata vuota o impostata su localhost, PostgreSQL non permetterà connessioni TCP/IP esterne. Questo scenario corrisponde anche all’impostazione predefinita di PostgreSQL.
PostgreSQL non sarà in grado di connettersi al server quando la connessione è bloccata da un firewall. Fate attenzione che tutti i server cloud di IONOS rientrano in una politica firewall predefinita, gestibile dal Cloud Panel.
- Backup automatici e recupero dei dati
- Pianificazione e gestione intuitive delle attività
- Protezione dalle minacce basata sull'intelligenza artificiale