Publicidad

Permitir Conexiones a PostgreSQL desde IP Remota o Local


Por Alex el 30/06/2025, Comentar el artículo

Comparte este artículo:      




postgreSQL recién instalado no te permite conectar de forma local o remota sin modificar los archivos de configuración y lo normal es que necesitemos hacerlo. Esta guía describe paso a paso lo que tienes que hacer para configurar las conexiones locales y remotas.


Vamos a ver lo siguiente:
Doy por hecho que todos tenemos un servidor postgreSQL en algún sitio al que podéis acceder y configurarlo.

1) Configurar el servidor postgreSQL para acceder desde el mismo servidor

Para poder conectar desde el terminal hay que cambiar la configuración que viene por defecto en el fichero /etc/postgresql/16/main/pg_hba.conf

Tenemos que darle permisos al usuario local (postgreSQL) para que desde el terminal, que es desde donde ejecutamos los scripts, se pueda conectar.

Por defecto tenemos esta línea:


# TYPE  DATABASE        USER            ADDRESS                 METHOD
# Database administrative login by Unix domain socket
local   all             postgres                                peer

Descripción rápida de los métodos de autenticación:
  • peer, solo te deja conectar con postgreSQL si entras en el sistema de Linux con el mismo usuario haces la llamada a postgreSQL

    juan@miservidor: psql -u juan

  • md5, para conectarse con un password
  • trust, para conectarse sin password desde el terminal con el usuario postgres.
Yo lo cambio por md5 y tengo asignado un password. Y queda así:


# TYPE  DATABASE        USER            ADDRESS                 METHOD
# Database administrative login by Unix domain socket
local   all             postgres                                md5

Y reiniciamos el servidor

sudo /etc/init.d/postgresql restart

Ahora al escribir esto desde el terminal

psql -U postgres

pedirá el password
Administrar postgreSQL desde el terminal
Para trabajar desde el terminal ya lo tenemos listo.

2) Configurar el servidor postgreSQL para acceder desde un servidor remoto

Ahora viene la configuración para la conexión remota desde otro servidor.

Lo primero que tenemos que hacer es configurar donde escucha postgreSQL, por defecto localhost.

Hay que modificar el fichero /etc/postgresql/16/main/postgresql.conf y buscar el parámetro listen_addresses y cambiamos lo que hay por un *

listen_addresses = ‘*’

Para que escuche en todas las interfaces de red del servidor.
Fichero de configuración postgresql.conf
O se puede poner la IP del servidor de la interfaz de red por la que se quiere escuchar.

Se pueden poner varias separadas por comas.

listen_addresses = '127.0.0.1,192.168.56.19'

Y después de esto reiniciar

sudo /etc/init.d/postgresql restart

Ahora vamos con el fichero de antes /etc/postgresql/16/main/pg_hba.conf, hay que añadir una nueva entrada.

Podemos configurar el acceso de dos formas, a un rango de ips o a una IP en concreto

Por ejemplo, rango de IPs añadimos esta entrada al final de todo, suponiendo que tu IP es 192.168.56.18


# TYPE  DATABASE        USER            ADDRESS                 METHOD
host all all 192.168.56.0/24 md5

Fichero de configuración pg_hba.conf
Y reiniciamos

sudo /etc/init.d/postgresql restart

Y de esta forma conectamos

psql -h 192.168.56.19 -U postgres

Siendo 192.168.56.19 la IP del servidor de postgreSQL

Y si queremos solo dar acceso a una IP seria de esta forma:


# TYPE  DATABASE        USER            ADDRESS                 METHOD
host all all 192.168.56.18/32 md5



3) Conclusión

Como podemos ver es bastante sencillo configurar postgreSQL para conectarse a él.

Ahora con esto habilitado podemos programar tareas, scripts, automatizaciones o conectar remotamente “en desarrollo” para programar.


Y esto es todo, feliz programming!!!
Saludos
Alex
:-)
/


Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN


ARCHIVO

Publicidad

.