Configuración para permitir que otros PC se conecten a la base de datos PostgreSQL (versión de Windows)

Actualización de la página :
Fecha de creación de la página :

Entorno operativo

PostgreSQL
  • PostgreSQL 15
Windows (Servidor)
  • Windows Server 2019
Windows (cliente)
  • Windows 11

Prerrequisitos

Windows
  • Windows Server 2019
  • Windows Server 2016
  • Otras versiones pueden funcionar, pero no son compatibles oficialmente.

cortafuegos

En Windows, los firewalls impiden las conexiones que no sean los puertos estándar. Debe estar configurado para poder conectarse en el puerto para conectarse a PostgreSQL.

Después de iniciar sesión en el entorno de Windows del lado del servidor, escriba "firewall" en el menú de inicio y seleccione Abra el Firewall de Windows Defender con seguridad avanzada.

Cuando se abra la pantalla, seleccione "Reglas de entrada" en el menú de la izquierda y haga clic en "Nueva regla..." en el menú de la derecha.

En Tipo de regla, seleccione Puerto.

En Protocol and Port (Protocolo y puerto), seleccione TCP como protocolo. Para el puerto, introduzca el valor predeterminado de 5432. Si especificó un número de puerto diferente en su instalación de PostgreSQL, ingrese ese número de puerto.

En "Acción", seleccione "Permitir conexión".

En "Perfil", marque "Dominio" y "Privado". Creo que es poco probable que se permita acceder a una base de datos en un entorno "público" que permita que personas no especificadas accedan a ella.

Introduzca un nombre y una descripción opcionales. Introdúzcalo para que sea fácil entender el propósito de abrir el puerto.

Una vez añadido, aparecerá en la lista.

postgresql.conf

Compruebe la configuración en postgresql.conf. No creo que sea necesario cambiarlo en la versión 15.

Hay un archivo en la siguiente ubicación, así que ábralo con una aplicación de bloc de notas. Compruebe la ruta, ya que varía según la versión.

C:\Program Files\PostgreSQL\15\data\postgresql.conf

listen_addresses Busque el parámetro llamado. No es necesario cambiarlo si se establece de la siguiente manera:

listen_addresses = '*'

pg_hba.conf

De forma predeterminada, solo se puede acceder a la base de datos desde el entorno local.

Hay un archivo en la siguiente ubicación, así que ábralo con una aplicación de bloc de notas. Compruebe la ruta, ya que varía según la versión.

C:\Program Files\PostgreSQL\15\data\pg_hba.conf

Existe la posibilidad de que cometa un error al corregirlo, así que copie y haga una copia de seguridad del archivo antes de cambiarlo por si acaso.

Si te desplazas hasta la parte inferior, encontrarás las siguientes líneas: Esto indica que solo se puede acceder a IPv4 localmente.

# TYPE  DATABASE        USER            ADDRESS                 METHOD
  :
host    all             all             127.0.0.1/32            scram-sha-256
  :

Establezca esta DIRECCIÓN en un solo rango o rango para que se pueda acceder a ella desde otras PC. El valor que establezca depende de la red que esté construyendo. Si no está seguro, permita 0.0.0.0/0 all with o samenet type para permitir todo el rango de la misma red que el servidor.

Ejemplos de configuración

# TYPE  DATABASE        USER            ADDRESS                 METHOD
  :
host    all             all             192.168.0.0/24          scram-sha-256
  :

Reiniciar el servicio

pg_hba.conf Estos archivos de configuración solo se leen cuando se inicia PostgreSQL, por lo que debe reiniciar el servicio. Por cierto, se carga cuando se inicia PostgreSQL, por lo que si reinicia Windows, se cargará en ese momento.

Después de abrir el menú de inicio, escriba "servicios" para iniciarlo.

Busque y seleccione "postgresql-x64-15 - PostgreSQL Server 15" en la lista central. Tenga en cuenta que el nombre variará según la versión. Una vez seleccionado, haga clic en "Reiniciar servicio" desde la izquierda.

Comprobación de la conexión desde otros PC

Vamos a ver si podemos conectarnos a la base de datos desde otro PC. La información del destino de la conexión varía en función del entorno, por lo que aquí solo se describe el procedimiento. Estoy usando pgAdmin para conectarme esta vez, pero creo que también puede conectarse con otras herramientas de acceso a la base de datos.

Después de iniciar pgAdmin en una PC cliente separada del servidor de base de datos, haga clic con el botón derecho en Servidores y seleccione "Registrar > servidor...".

En la pestaña General, el Nombre debe ser un nombre que le ayude a identificar el servidor.

Seleccione la pestaña Conexión. Introduzca "Nombre/dirección de host", "Base de datos de mantenimiento", "Nombre de usuario" y "Contraseña". Si no quieres introducir la contraseña cada vez, activa la opción "Guardar contraseña". Por cierto, es posible que pdAdmin no pueda resolver el nombre del host, por lo que en ese caso, especifique la dirección IP directamente.

Rellene los demás campos de entrada según sea necesario. Cuando hayas terminado, haz clic en el botón "Guardar".

Si puede conectarse a la base de datos del servidor de destino, la verificación se ha completado.