post icon

Como hacer que PostgreSQL escuche conexiones desde cualquier IP

Postgre

Postgre al contrario que MySQL, en su configuración por defecto cierra las escucha de conexiones a todas la IP excepto la local (127.0.0.1 o localhost), a veces puede ser un poco engorroso esto, especialmente si estamos trabajando con base de datos de desarrollo o pruebas. Quizá incluso en producción necesitemos habilitar la escucha a todas la ip o a una lista grande de ips, aunque ésto es en  casos especiales nada más.

No es recomendable habilitar esto sin tener un motivo sólido ya que exponemos la seguridad de la BD

En el path de instalación del postgres, ya sea Windows, GNU/Linux, Mac se encuentra un fichero que se encarga de esta configuracion, se llama:

1
pg_hba.conf

y se encuentra en el siguiente path relativo:

1
../PostgreSQL/<version>/data/

La abrimos con algún editor de ficheros de textos, y nos vamos al final del fichero, donde veremos algo como esto:

1
2
3
4
5
6
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
 
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5

Según la versión de IP que querramos configurar, hoy día sigue siendo muy poco común configurar IPv6 en nuestras redes, por ello, nos limitaremos de momento a la versión 4. Para que escuche el servicio, conexiones de cualquier host dejariamos así:

1
2
3
4
5
6
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
 
# IPv4 local connections:
host    all         all         0.0.0.0/32            md5
# IPv6 local connections:
host    all         all         ::1/128               md5

Basta con reiniciar el servicio del postgre y wola! todos podrán conectarse al motor.
PD: En una siguiente entrega veremos como configurar en mayor detalle, mejores reglas y más especificas desde el fichero pg_hba.conf

Comentarios desde Facebook:

  1. avatar
    Xochitl Google Chrome Windows
    7 Septiembre 2012 at 17:00 #

    Hola, al querer modificar el archivo .conf me manda un mensaje de error q dice “acceso denegado”

Responder