# 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)](https://www.ionos.it/digitalguide/hosting/tecniche-hosting/sistema-di-gestione-di-base-di-dati-dbms/ "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](https://www.ionos.it/digitalguide/server/know-how/ubuntu-il-sistema-linux-per-tutti/) 16.04)
- Avere [PostgreSQL](https://www.ionos.it/digitalguide/server/know-how/postgresql/) installato e funzionante.

## “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:

```none
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:

```none
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](https://www.ionos.it/digitalguide/server/know-how/presentazione-tcp/ "Presentazione TCP")**.

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.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/know-how/errore-postgresql-impossibile-connettersi-al-server/](https://www.ionos.it/digitalguide/server/know-how/errore-postgresql-impossibile-connettersi-al-server/) for AI/LLM consumption.