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.

Instalar PostgreSQL en Debian 11
PostgreSQL es un sistema de gestión de bases de datos relacionales de código abierto y de nivel avanzado. En el siguiente artículos os explicaremos como instalar PostgreSQL en Debian 11. Antes de la instalación, vamos a echar un vistazo rápido a las características de 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
📢
Recuerda que luego tendrás que habilitar el puerto 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.

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación