Cómo configurar el acceso remoto a la base datos PostgreSQL desde Windows

Configurar una conexión remota a la base de datos PostgreSQL 13 en el servidor Ubuntu 18 LTS desde Windows 10 usando la utilidad pgAdmin 4, de dos maneras: conectándose usando un túnel SSH y conectándose directamente al servidor PostgreSQL.

💡 Recomiendo usar un túnel SSH, que es fácil de configurar y seguro. Cuando se usa un túnel SSH, el puerto de PostgreSQL no se abre para conexiones externas.

Para usar el túnel SSH, debe configurar certificados SSH para iniciar sesión en Ubuntu.

pgAdmin es la plataforma de administración y desarrollo de código abierto más popular y rica en funciones para Pequeño icono de PostgreSQL PostgreSQL , la base de datos de código abierto más avanzada del mundo.

Sitio web oficial de PgAdmin

Descubra la ubicación de los archivos de configuración de PostgreSQL: postgresql.conf, pg_hba.conf.

ps aux | grep postgres | grep -- -D

Descubra el puerto de PostgreSQL con el comando:

grep -H '^port' /etc/postgresql/*/main/postgresql.conf
Obtener la configuración de PostgreSQL

En el ejemplo, el archivo de configuración de PostgreSQL se encuentra en /etc/postgresql/13/main/postgresql.conf, puerto de conexión 5432.

Contenido

  1. Túnel SSH a PostgreSQL
  2. Conexión directa a PostgreSQL
  3. Preguntas más frecuentes

Artículo en otros idiomas:
🇺🇸 – How to Setup Remote Access to PostgreSQL Database from Windows
🇷🇺 – Как настроить удаленное подключение к БД PostgreSQL из Windows

Túnel SSH a PostgreSQL

Conéctese al servidor PostgreSQL mediante el túnel SSH. Al elegir este tipo de conexión, no se requieren configuraciones adicionales en el servidor PostgreSQL.

Configuración de pgAdmin en Windows 10:

  1. Inicie pgAdmin
  2. Crea una nueva conexión al servidor: Object -> Create -> Server;
  3. Pestaña General:
    1. Name: server name (arbitrary);
  4. Connection Pestaña:
    1. Host Name: localhost;
    2. Port: 5432;
    3. Maintenance database: mybase;
    4. Username: postgres;
  5. SSH Tunnel Pestaña:
    1. Use SSH tunneling: Yes;
    2. Tunnel host: myserver-IP;
    3. Tunnel port: 58222;
    4. Username: root;
    5. Authentication: Identity file;
    6. Identity file: path_key.

💡 Specify the id_rsa private key from Configuring SSH certificates on the server as a key. How to change SSH port in FAQ.

💡 Especifique la clave privada id_rsa de Configuración de certificados SSH en el servidor como clave. Cómo cambiar el puerto SSH en Preguntas frecuentes.

Conexión a la base de datos PostgreSQL a través del túnel SSH
Configuración de PgAdmin para conectarse a través del túnel SSH

Conexión directa a PostgreSQL

Para configurar una conexión directa a PostgreSQL, realizamos cambios en los archivos de configuración postgresql.conf y pg_hba.conf.

Configuración de PostgreSQL

postgresql.conf

El archivo postgresql.conf se encuentra en la carpeta de instalación de PostgreSQL.

sudo nano /etc/postgresql/13/main/postgresql.conf

Descomentemos o agreguemos la línea:

listen_addresses = '*'

Hemos permitido solicitudes de todas las direcciones IP.

Configurando el archivo postgresql.conf

💡 Posibles opciones:
listen_addresses = '0.0.0.0' para escuchar todo IPv4;
listen_addresses = '::' para escuchar todo IPv6;
listen_addresses = 'your.host.ip.adress' dirección específica o lista de direcciones separadas por comas.

pg_hba.conf

El archivo pg_hba.conf se encuentra en la carpeta de instalación de PostgreSQL.

sudo nano /etc/postgresql/13/main/pg_hba.conf

Agregue una entrada a la sección # conexiones locales IPv4:

host     mybd     postgres     41.223.232.15/32     md5

La entrada permite al usuario postgres con la dirección IP 41.223.232.15 conectarse a la base de datos mybd usando una contraseña.

Configurando pg_hba.conf

Después de los cambios, reinicie el servicio PostgreSQL.

systemctl restart postgresql

Configuración de pgAdmin

Configurar una conexión directa a la base de datos PostgreSQL a través de Internet o una red local usando pgAdmin.

  1. Iniciar pgAdmin
  2. Crea una nueva conexión al servidor: Object -> Create -> Server;
  3. Pestaña General:
    1. Name: server name (arbitrary);
  4. Pestaña Connection:
    1. Host Name: RemoteServerIP;
    2. Port: 5432;
    1. Maintenance database: mybase;
    2. Username: postgres.
Conexión directa a la base de datos PostgreSQL

Preguntas más frecuentes

PostgreSQL how to find out the location of configuration files?

ps aux | grep postgres | grep — -D

PostgreSQL how to find out the port?

grep -H ‘^port’ /etc/postgresql/*/main/postgresql.conf

SSH how to find out or change the connection port?

File /etc/ssh/sshd_config, line Port.


En este artículo se analizó Cómo configurar el acceso remoto a la base datos PostgreSQL desde Windows. Espero que ahora pueda configurar pgAdmin para conectarse a PostgreSQL (conexión directa o mediante túnel SSH). Sin embargo, si tiene algún problema al configurar el servidor o pgAdmin, no dude en escribir en los comentarios. Trataré de ayudar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *