L’errore di Post­gre­SQL “Im­pos­si­bi­le con­net­ter­si al server” può ve­ri­fi­car­si per vari motivi. Spesso per ri­sol­ver­lo è suf­fi­cien­te riavviare il sistema di gestione di base di dati (DBMS) open source o regolare le im­po­sta­zio­ni TCP/IP.

Requisiti

  • Un server cloud che usi Linux (CentOS 7 o Ubuntu 16.04)
  • Avere Post­gre­SQL in­stal­la­to e fun­zio­nan­te.
Server virtuali (VPS)
Affidati ai VPS e server di IONOS, il tuo partner digitale cer­ti­fi­ca­to ISO
  • 1 Gbps di larghezza di banda e traffico il­li­mi­ta­to
  • Di­spo­ni­bi­li­tà del 99,99% e cer­ti­fi­ca­zio­ne ISO
  • As­si­sten­za 24/7 e con­su­len­te personale

“Im­pos­si­bi­le con­net­ter­si al server: nessun file o directory di questo tipo”

L’errore Post­gre­SQL “Im­pos­si­bi­le con­net­ter­si al server: nessun file o directory di questo tipo” di solito indica che l’ese­cu­zio­ne di Post­gre­SQL non è avvenuta. Tuttavia, l’errore è in realtà spesso legato a problemi relativi ai permessi richiesti.

Per prima cosa, usate il comando systemctl status post­gre­sql per con­trol­la­re lo stato di Post­gre­SQL:

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 vi­sua­liz­za­te lo stato come attivo, riavviate Post­gre­SQL con il comando systemctl restart post­gre­sql. Se invece vi­sua­liz­za­te lo stato come inattivo, avviate Post­gre­SQL con il comando systemctl start posgresql.

Se un riavvio non risolve il problema, con­trol­la­te invece i permessi della vostra directory aventi il percorso /var/lib/post­gre­sql/9.6/main. Il numero di versione indicato, 9.6, può differire a seconda dell’in­stal­la­zio­ne. 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 ese­cu­zio­ne e i file devono disporre dei permessi di lettura e scrittura. Usate il comando ls nel percorso men­zio­na­to sopra per vi­sua­liz­za­re 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 Post­gre­SQL come mostrato in pre­ce­den­za.

“Im­pos­si­bi­le con­net­ter­si al server: con­nes­sio­ne rifiutata”

Un’altra variante dell’errore su Post­gre­SQL è “Im­pos­si­bi­le con­net­ter­si al server: con­nes­sio­ne rifiutata”.

In questo caso, bisognerà per prima cosa usare il comando systemctl-status post­gre­sql per ve­ri­fi­ca­re che Post­gre­SQL sia in ese­cu­zio­ne. Per averne la certezza, potete anche riavviare il programma con il comando systemctl restart post­gre­sql.

Se questo passaggio non risolve il problema, la causa più probabile di questo errore è la mancata con­fi­gu­ra­zio­ne di Post­gre­SQL per per­met­te­re con­nes­sio­ni TCP/IP.

Per cor­reg­ger­lo, mo­di­fi­ca­te il vostro file posgresql.conf, che può essere trovato in uno dei seguenti percorsi di file, a seconda della vostra di­stri­bu­zio­ne Linux:

  • Ubuntu 16.04: sudo nano /etc/post­gre­sql/9.5/main/posgresql.conf
  • CentOS 7: sudo nano /usr/pgsql-10/share/post­gre­sql.conf

Con­trol­la­te la con­fi­gu­ra­zio­ne di listen_address. Per per­met­te­re con­nes­sio­ni TCP/IP, questa dovrebbe essere impostata su “0.0.0.0” (per con­sen­ti­re le con­nes­sio­ni da tutti gli indirizzi IP) o all’indirizzo IP specifico del server a cui è con­sen­ti­to con­net­ter­si.

Se questa con­fi­gu­ra­zio­ne è lasciata vuota o impostata su localhost, Post­gre­SQL non per­met­te­rà con­nes­sio­ni TCP/IP esterne. Questo scenario cor­ri­spon­de anche all’im­po­sta­zio­ne pre­de­fi­ni­ta di Post­gre­SQL.

Post­gre­SQL non sarà in grado di con­net­ter­si al server quando la con­nes­sio­ne è bloccata da un firewall. Fate at­ten­zio­ne che tutti i server cloud di IONOS rientrano in una politica firewall pre­de­fi­ni­ta, gestibile dal Cloud Panel.

Cloud Backup powered by Acronis
Riduci i tempi di inat­ti­vi­tà e proteggi i carichi di lavoro
  • Backup au­to­ma­ti­ci e recupero dei dati
  • Pia­ni­fi­ca­zio­ne e gestione intuitive delle attività
  • Pro­te­zio­ne dalle minacce basata sul­l'in­tel­li­gen­za ar­ti­fi­cia­le
Vai al menu prin­ci­pa­le