PostgreSQL es un potente sistema de gestión de bases de datos relacionales, puede manejar grandes cargas de trabajo desde una sola máquina hasta la un centro de datos.
Es altamente escalable y ampliamente popular. En este artículo, vamos a aprender como configurar un servidor de base de datos remoto para utilizarlo en proyectos.
La configuración de este artículo permitirá la conexión de PostgreSQL desde cualquier dirección IP y no cubrirá la conexión IP específica/autorizada.
Requisitos para este tutorial
- Estar familiarizado con la línea de comandos.
- Un servidor con acceso SSH y acceso completo. Para este tutorial utilizaremos Debian 11.
- Mucha paciencia.
- Tener instalado PostgreSQL en el servidor.
Para el último punto, podéis seguir este otro tutorial que explica como instalar PostgreSQL.

Creamos un usuario para PostgreSQL
Vamos a crear un usuario que usaremos para conectarnos a las bases de datos. Para ello, lo primero accederemos al usuario postgres
:
su - postgres
Y crearemos el usuario de forma interactiva:
createuser --interactive --pwprompt
La salida del comando:
Enter name of role to add: voidnull
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y
Creamos la base de datos para el usuario que acabamos de crear:
createdb -O voidnull database_vn
Configurar acceso remoto
En este paso vamos a modificar los valores de la configuración de PostgreSQL. Para ello editamos el fichero de configuración:
nano /etc/postgresql/13/main/postgresql.conf
Busca en este fichero, la siguiente línea:
#listen_addresses = 'localhost'
La descomentamos y modificamos el valor:
listen_addresses = '*'
Guardamos el fichero y editamos este otro fichero:
nano /etc/postgresql/13/main/pg_hba.conf
Modificamos esta línea:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
Y la dejamos así:
# IPv4 local connections:
host all all 0.0.0.0/0 md5
5432
en tu Cortafuegos del servidor para poder acceder desde fuera.Finalmente, reiniciamos el servicio para aplicar la nueva configuración:
systemctl restart postgresql
Revisamos la configuración
Tras todos estos cambios, desde fuera de la red del servidor deberíamos de poder hacer un telnet
al puerto 5432
:
$ telnet [IP_Servidor] 5432
Trying [IP_Servidor]...
Connected to [IP_Servidor].
Escape character is '^]'.
Con esto, ya podemos descargarnos nuestro cliente favorito para conectarnos a una base de datos. En mi caso he usado DBeaver, que es bastante sencillo y de código abierto.
Comentarios