Cómo configurar el acceso remoto a la base datos PostgreSQL desde Windows
Este artículo viene y es gracias a: https://mhelp.pro/es/como-configurar-el-acceso-remoto-a-la-base-datos-postgresql-desde-windows/
Para poder conectar a Postgres en remoto, por ejemplo a un Postgres en un VPS, se puede hacer directamente, cambiando la configuración de Postgres o usando SSH. Es más segura esta última.
Aquí lo hace usando pgAdmin, pero en DBeaber es igual, en el formulario de configuración de la conexión está la pestaña "SSH".
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
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
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:
- Inicie pgAdmin
- Crea una nueva conexión al servidor: Object -> Create -> Server;
- Pestaña General:
- Name: server name (arbitrary);
- Connection Pestaña:
- Host Name: localhost;
- Port: 5432;
- Maintenance database: mybase;
- Username: postgres;
- SSH Tunnel Pestaña:
- Use SSH tunneling: Yes;
- Tunnel host: myserver-IP;
- Tunnel port: 58222;
- Username: root;
- Authentication: Identity file;
- 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 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.
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.
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.
- Iniciar pgAdmin
- Crea una nueva conexión al servidor: Object -> Create -> Server;
- Pestaña General:
- Name: server name (arbitrary);
- Pestaña Connection:
- Host Name: RemoteServerIP;
- Port: 5432;
- Maintenance database: mybase;
- Username: postgres.