Introducción
Una base de datos relacional de código abierto basada en objetos PostgreSQL, proporciona al usuario la implementación de SQL y normalmente se aloja en Linux. Con PostgreSQL, los usuarios pueden expandir el sistema definiendo tipos de datos personales, funciones y operadores.
PostgreSQL es utilizado por muchas grandes empresas para guardar y archivar sus datos para varias aplicaciones y es compatible con varias interfaces de programación, así como video, texto e imágenes. En este artículo, primero veremos la instalación de PostgreSQL en Ubuntu 20.04, luego lo configuraremos para permitir la conexión remota.
Prerrequisitos
Este artículo asume que ya tiene un servidor PostgreSQL ejecutándose en su sistema. Si no es así, use uno de los enlaces a continuación para instalar el servidor de base de datos PostgreSQL en su sistema.
Encuentra el archivo de configuración
Para instalar PostgreSQL en nuestro sistema necesitamos actualizar nuestro repositorio y para ello ejecutar el siguiente comando:
sudo -u postgres psql -c "SHOW config_file;"
Output:
config_file
-----------------------------------------
/etc/postgresql/13/main/postgresql.conf
(1 row)
Debe cambiar la dirección de escucha en el archivo de postgresql.conf
configuración que se muestra en la salida del comando. Además, debe cambiar " pg_hba.conf
" al mismo directorio para permitir el acceso remoto.
Configurar PostgreSQL para permitir conexiones remotas
Para permitir que todas las direcciones IP se conecten al servidor PostgreSQL, necesitamos configurar el archivo y hacer algunos cambios, por eso ubicó el archivo de configuración en el paso anterior.
Configure postgresql.conf:
Ahora necesitamos abrir el archivo y hacer algunos cambios para permitir la conexión remota. Para abrir el archivo, debe usar el comando nano o puede ejecutar el comando en la terminal que se proporciona a continuación:
sudo nano /etc/postgresql/13/main/postgresql.conf
Este comando abrirá este archivo y en él deberá buscar "listen_addresses" y agregar la siguiente línea:
#listen_addresses = 'localhost'
listen_address = '*'
Todo lo que necesita hacer es cambiar la dirección de escucha de localhost a "*" o agregar una nueva línea como se muestra arriba. Esto permitirá que cada dirección IP se conecte al servidor de la base de datos, o si desea especificar algunas IP en particular, puede escribirlas con espacios entre cada dirección IP.
Configure pg_hba.conf:
Para permitir que los usuarios que queremos se conecten a la base de datos, necesitamos realizar cambios en el archivo "pg_hba.conf" . Este archivo estará disponible en el mismo directorio que el anterior.
Ahora abra el archivo usando el comando que se proporciona a continuación:
sudo nano /etc/postgresql/13/main/pg_hba.conf
En el archivo, debe agregar las siguientes líneas en el archivo:
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
host all all :/0 md5
Guarde el archivo de configuración y ciérrelo. Ahora, reinicie la base de datos ejecutando el comando que se indica a continuación:
sudo systemctl restart postgresql
Ahora simplemente abra el puerto "5432" en el firewall y estará listo para ver todas las bases de datos y podrá conectarse desde cualquier dirección IP al servidor PostgreSQL:
sudo ufw allow 5432
Eso es todo. Su servidor de base de datos PostgreSQL es accesible desde hosts remotos.
Conclusión
La base de datos PostgreSQL está configurada de forma predeterminada para vincularse con localhost, lo que limita la otra dirección IP y el host para conectarse o tener acceso al servidor PostgreSQL. En este artículo, lo guiamos a través de la configuración de PostgreSQL para permitir la conexión remota para que otras direcciones IP puedan vincularse al servidor. De esta manera, otros hosts pueden ver fácilmente la lista de la base de datos y conectarse al servidor PostgreSQL de forma remota.