Postgresql: Permitir acceso remoto

Para conseguir acceder remotamente a un servidor PostgreSQL es necesario, además de lógicamente permitir el acceso en el firewall o las medidas de seguridad en capas anteriores al servidor (comunmente puerto 5432), configurar el servidor PostgreSQL para aceptar dichas conexiones. Para ello, hay que realizar dos tareas:

  1. Editar el fichero  postgresql.conf:
    Por defecto, seguramente tu servidor PostgreSQL solamente escuchará en localhost, para añadir más IP’s permitidas, o todas (wildcard), modificaremos la siguiente directiva:

    listen_addresses = '*'

    De la forma que está arriba, cualquier dirección IP puede conectarse remotamente al servidor PostgreSQL, si quisieramos restringir a determinadas IPs, simplemente cambiamos el wildcard * por IPs separadas por comas.
    Una vez modificado, si reiniciáis PostgreSQL veréis con el comando netstat que ya está escuchando en las IPs que hayáis indicado.

  2. Editar el fichero pg_hba.conf:

    En este fichero podemos especificar varios parámetros, como por ejemplo qué host tiene acceso a qué base de datos, los permisos que asignamos al usuario, el tipo de autenticación…
    Básicamente tendremos que añadir líneas con la siguiente estructura:

    # local      database  user  CIDR  auth-method  [auth-options]
    # Ejemplo
    host mibasededatos miusuario 192.168.0.0/24 md5
    

Una vez realizados estos pasos correctamente, si reiniciamos el servicio PostgreSQL ya deberíamos poder acceder remotamente a la administración de las bases de datos especificadas.

10 comentarios en “Postgresql: Permitir acceso remoto

  1. es que hice lo que indicas y despues se me desaparacen esos dos archivos y no se puede acceder … lo hice en linux.. me gustaria saber.. q paso..

    graciass

  2. Muy bueno me sirvio, pero tambien voy a dar mi aporte.
    si desean que pcs no registradas accedar al servidor agreguen en el fichero pg_hba.conf:
    #Conexiones para todo el mundo
    host all all 0.0.0.0/0 md5

  3. estoy tratando de configurar el postgresql para que permita conecciones remotas pero no me permite esto trabajando con postgresql 9.1
    postgresql.conf
    listen_addresses = ‘*’ # what IP address(es) to listen on;
    # comma-separated list of addresses;
    # defaults to ‘localhost’, ‘*’ = all
    # (change requires restart)
    port = 5432 # (change requires restart)
    max_connections = 100 # (change requires restart)
    pg_hba.conf
    # IPv4 local connections:
    host all all 192.168.100.0/24 md5
    host all all 0.0.0.0 0.0.0.0 md5
    # IPv6 local connections:
    host all all ::1/128 md5

    esto es lo que tengo estoy en una maquina con opensuse
    no se que estoy haciendo mal, me podrias ayudar

Comments are closed.