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:
- 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. - 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.