# Error PostgreSQL “Could not connect to server”: cómo resolver el problema

El error de PostgreSQL “Could not connect to server” puede ocurrir por varias razones. A menudo basta con reiniciar el [sistema gestor de bases de datos](https://www.ionos.com/es-us/digitalguide/hosting/cuestiones-tecnicas/sistema-gestor-de-base-de-datos-sgbd/ "Sistema gestor de base de datos (SGBD)") de código abierto o ajustar la configuración TCP/IP.

## Requisitos

- Servidor cloud funcionando con Linux (CentOS 7 o Ubuntu 16.04)
- [PostgreSQL](https://www.ionos.com/es-us/digitalguide/servidores/know-how/postgresql/) instalado y funcionando.

## “Could not connect to server: No such file or directory”

El error de PostgreSQL “Could not connect to server: No such file or directory” suele significar que PostgreSQL no se está ejecutando. Sin embargo, el error suele estar relacionado con **problemas de permisos**.

En primer lugar, utiliza el comando *systemctl status postgresql* para comprobar el estado de 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.
```

Si el estado se muestra como activo, reinicia PostgreSQL con el comando *systemctl restart postgresql*. Si el estado se muestra como inactivo, inicia PostgreSQL con el comando *systemctl start posgresql*.

Si un reinicio no soluciona el problema, mira los permisos de tu directorio con la ruta */var/lib/postgresql/9.6/main*. El número de la versión 9.6 puede variar según tu instalación. Se supone que los **permisos** de las carpetas están establecidos en “**0700**” y los de los **archivos** en “**0600**”. Esto significa que las carpetas deben tener permisos de lectura, escritura y ejecución, y los archivos deben tener permisos de lectura y escritura. Utiliza el **comando ls** en la ruta anterior para mostrar los permisos actuales.

Si descubres que los permisos son diferentes, ejecuta los siguientes comandos en la línea de comandos:

```none
sudo chown -R postgres:postgres /var/lib/postgresql/9.6/
sudo chmod -R u=rwX,go= /var/lib/postgresql/9.6/
```

Reinicia PostgreSQL como se indica arriba.

## “Could not connect to server: Connection refused”

Otra variante del error de PostgreSQL es “Could not connect to server: Connection refused”.

En primer lugar, utiliza el comando *systemctl-status postgresql* para verificar que PostgreSQL se está ejecutando. Para asegurarte de que PostgreSQL se está ejecutando, también puedes reiniciarlo con *systemctl restart postgresql*.

Si esto no soluciona el problema, la causa más probable de este error es que PostgreSQL no se ha configurado para permitir conexiones [TCP/IP](https://www.ionos.com/es-us/digitalguide/servidores/know-how/que-es-tcp-transport-control-protocol/ "Qué es TCP (Transport Control Protocol)").

Para corregir esto, edita tu archivo **posgresql.conf**. Estos pueden encontrarse en una de las siguientes rutas de archivos, dependiendo de tu distribución de Linux:

- **Ubuntu 16.04:** sudo nano /etc/postgresql/9.5/main/posgresql.conf
- **CentOS 7:** sudo nano /usr/pgsql-10/share/postgresql.conf

Comprueba la **configuración de listen\_address**. Para permitir las conexiones TCP/IP, debe ajustarse a “0.0.0.0” (para permitir las conexiones desde todas las direcciones IP) o a la dirección IP específica del servidor que permitirá conectarse.

Si esta configuración se deja en blanco o se establece como localhost, PostgreSQL no permitirá conexiones TCP/IP externas. Esto también corresponde a la configuración por defecto de PostgreSQL.

PostgreSQL no podrá conectarse al servidor cuando la conexión esté bloqueada por un firewall. Ten en cuenta que todos los servidores en la nube se ven afectados por defecto por las políticas de los firewalls, que se controla desde el Cloud Panel.


This is a markdown version of: [https://www.ionos.com/es-us/digitalguide/servidores/know-how/error-postgresql-could-not-connect-to-server/](https://www.ionos.com/es-us/digitalguide/servidores/know-how/error-postgresql-could-not-connect-to-server/) for AI/LLM consumption.