lunes, 5 de mayo de 2014

PostgreSQL: habilitar conexión remota

Si habéis trabajado con un servidor PostgreSQL con frecuencia habréis usado la herramienta PgAdmin para administrarlo en un entorno gráfico más manejable. Generalmente en la instalación por defecto el servidor sólo acepta conexiones desde la máquina local (para ofrecer un servicio web no necesitamos acceder desde fuera).



En ocasiones podemos necesitar habilitar una conexión remota al servidor (para administración remota desde PgAdmin o phppgadmin, conexiones desde otro servidor web diferente, etc...). En estos casos tendremos que configurar Postgre editando el archivo pg_hba.conf.

¿Cómo habilitamos el acceso desde una IP remota?


Al final del archivo encontraremos las siguientes líneas:

# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres


Y añadiremos:

host     all     all     192.168.1.3/24     md5

Los campos que aparecen en la línea son:
  • Tipo: conexión local o remota (local o host)
  • Bases de datos a las que permitimos acceso
  • Usuarios que pueden acceder
  • Direcciones IP o subredes que accederán
Aquí indicamos que habilitamos conexiones desde un host con la IP 192.168.1.3, para todas las bases de datos (all) y todos los usuarios (all). Desde este momento podremos conectar nuestro PgAdmin instalado en la máquina con IP 192.168.1.3 al servidor Postgre.

Si queremos algo más general podemos indicar una subred: 192.168.1.0/24 permitirá el acceso desde cualquier equipo de esa subred.

Después tendremos que indicar al servidor que escuche peticiones de cualquier dirección. Para ello editaremos el archivo postgres.conf y buscamos la línea listen_addresses. Debemos cambiar el valor: addresses = '*' para indicar que escuche desde cualquier dirección.

Por último no olvidéis reiniciar el servicio de PostgreSQL antes de intentar conectar en remoto. Un saludo

2 comentarios:

  1. Hola gracias por la ayuda, me imagino que funciona para PostgreSQL 9.6

    ResponderEliminar
  2. De lado del servidor, utilizando PostGressSQL, en que parte de la configuracion le doña.

    Saludos

    ResponderEliminar

Recomendaciones de Alcasoft