Habilitar acceso remoto a Postgres
Estimados amig@s, en esta oportunidad les quiero compartir como habilitar el acceso remoto a Postgres, para lo cual utilizaré el siguiente escenario.
Máquina desde donde se accede: MacOS
Máquina donde está instalado Postgres: Ubuntu 20
Para poder habilitar el acceso remoto con superusuario realizar lo siguiente:
1. Ubicarse en el directorio donde se instaló Postgres en Linux, que generalmente es la siguiente ubicación /etc/postgresql/<version_bdd>/main; donde <version_bdd> equivale a la versión que se haya instalado de postgres. Para mi ejemplo tomando en cuenta que tengo la versión 14, quedaría el directorio de la siguiente manera /etc/postgresql/14/main
2. Dentro del directorio de postgres proceder a editar el archivo postgresql.conf, en el cual se debe activar el acceso a todas las máquinas de la red modificando la variable listen_address con el valor de *, tal como se muestra a continuación.
3. Posterior a esto se debe actualizar el archivo pg_hba.conf incluyendo una instrucción para que se puedan conectar a la base de datos desde cualquier dirección IP.
4. Luego se debe proceder a reiniciar los servicios de postgres utilizando el siguiente comando service postgresql restart
5. Se debe abrir el puerto 5432, agregando la regla en el firewall. Para lo cual se debe ejecutar el siguiente comando ufw allow 5432 y posterior recargar el firewall con el comando ufw reload. Posterior a esto continuación verificar que la regla se haya añadido a través del comando ufw status verbose
6. Finalmente, se debe validar el acceso remoto (MacOS), ejecutando en primera instancia el comando telnet <numero_ip_bdd> 5432 para verificar que el puerto esté disponible y posterior establecer la conexión con la base de datos utilizando algún IDE. En este caso se utilizó Dbeaver.