---
title: "Alta disponibilidad de PostgreSQL con SafeKit: instale el módulo postgresql.safe para conmutación por error"
canonical: "https://safekit.eviden.com/es/quick-install/safekit-quick-installation-guide-with-postgresql/"
description: "Implemente el módulo postgresql.safe para SafeKit para habilitar la replicación sincrónica en tiempo real y la conmutación por error automática de PostgreSQL en Windows y Linux. Esta guía le guiará en la configuración de un clúster sin SAN de 2 nodos para aplicaciones críticas sin almacenamiento compartido."
category: "quick-install"
lang: "es"
topics: "Guía de instalación rápida de alta disponibilidad para PostgreSQL, Limitaciones de alta disponibilidad de SafeKit, Descripción general de la solución SafeKit/PostgreSQL, Instalación de la solución SafeKit/PostgreSQL en Windows y Linux (postgresql.safe), Configuración paso a paso de la solución SafeKit/PostgreSQL, Demostración de la solución de espejo SafeKit"
---

# Alta disponibilidad de PostgreSQL con SafeKit: instale el módulo postgresql.safe para conmutación por error {#postgresql-high-availability-with-safekit-install-the-postgresqlsafe-module-for-failover}

## Guía de instalación rápida de alta disponibilidad para PostgreSQL {#quick-guide}

Esta guía explica cómo configurar un **mirror cluster** para PostgreSQL usando SafeKit, lo que garantiza la conmutación por error automática y la replicación sincrónica sin necesidad de almacenamiento compartido. 

Para obtener ayuda, puede usar [SafeKit AI 🤖](https://safekit.eviden.com/es/es/resources/safekit-support/).

### 1. Descripción general

  * **Arquitectura:** Utiliza un sistema de dos nodos (primario/secundario).
  * **Protección de datos:** Implementa replicación síncrona en tiempo real para **cero pérdida de datos** (RPO=0).

### 2. Instalación

  * **Programas:** Instale el motor SafeKit en ambos servidores.
  * **Módulo:** Descargue el módulo de aplicación preconfigurado `postgresql.safe.safe`.

### 3. Configuration

  * **Consola web:** Configure las carpetas específicas que contienen los archivos de PostgreSQL.
  * **Supervisión:** Comience a supervisar y proteger la aplicación PostgreSQL.

## Limitaciones de alta disponibilidad de SafeKit {#safekit-ha-limitations}

Límite / Requisito | Razón e impacto | Alternativa recomendada  
---|---|---  
Tamaño de réplica: Unos cuantos TB |  Tiempo de resincronización tras un fallo ([paso 3](https://safekit.eviden.com/architectures/file-replication-byte-level-with-failover-mirror-cluster/product/#safekit-mirror-cluster)) : <br>• Red de 1 Gb/s ≈ 3 horas / TB<br>• Red de 10 Gb/s ≈ 1 hora / TB (según el rendimiento de escritura en disco)  |  • Utilizar [almacenamiento compartido externo](https://safekit.eviden.com/best-practises/san-vs-nas-shared-storage-for-a-failover-cluster/) (más caro, más complejo).    
Cantidad de archivos: < 1 000 000 archivos |  • Rendimiento del tiempo de resincronización tras un fallo ([paso 3](https://safekit.eviden.com/architectures/file-replication-byte-level-with-failover-mirror-cluster/product/#safekit-mirror-cluster)).<br>• Tiempo necesario para comprobar cada archivo entre ambos nodos.  |  • Colocar la gran cantidad de archivos a replicar en un disco duro virtual / máquina virtual.<br>• En este caso, solo se replicarán y resincronizarán los archivos que representen el disco duro virtual / la máquina virtual.    
Capacidad de conmutación por error (failover): ≤ 32 VMs |  • Cada VM se ejecuta en un módulo espejo independiente.<br>• Máximo de 32 módulos espejo ejecutándose en el mismo clúster.  |  • Utilizar almacenamiento compartido externo y otra solución de clúster de VMs (más caro, más complejo).    
Arquitectura de red: Red LAN/VLAN entre sitios remotos |  • Conmutación por error automática de la [dirección IP virtual](https://safekit.eviden.com/best-practises/how-a-virtual-ip-address-works/) con 2 nodos en la misma subred.<br>• Buen ancho de banda para la resincronización ([paso 3](https://safekit.eviden.com/architectures/file-replication-byte-level-with-failover-mirror-cluster/product/#safekit-mirror-cluster)).<br>•  Baja latencia para la [réplica sincrónica](https://safekit.eviden.com/best-practises/synchronous-replication-vs-asynchronous-replication/): típicamente < 5 ms de RTT; los valores superiores deben validarse en función de la tasa de escritura de la aplicación.  |  • Utilizar un [balanceador de carga para la dirección IP virtual](https://safekit.eviden.com/best-practises/how-a-virtual-ip-address-works/) si los 2 nodos se encuentran en 2 subredes (compatible con SafeKit, especialmente en la nube).<br>• Utilizar soluciones de respaldo con réplica asincrónica para redes de alta latencia.

 

## Descripción general de la solución SafeKit/PostgreSQL {#overview-of-the-safekit--postgresql-solution}

La solución se describe aquí: **💡[La alta disponibilidad de PostgreSQL más simple: replicación síncrona de 2 nodos y conmutación por error](<https://safekit.eviden.com/es/solutions/postgresql-high-availability-synchronous-replication-failover/>)**.

## Instalación de la solución SafeKit/PostgreSQL en Windows y Linux (postgresql.safe) {#installation-of-the-safekit--postgresql-solution-on-windows-and-linux-postgresqlsafe}

### Requisitos previos {#prerequisites}

  * Necesita PostgreSQL instalado en 2 nodos (máquinas virtuales o servidores físicos).

### Instalación del paquete en Windows

  * Descargue e instale la versión gratuita de SafeKit en 2 nodos Windows.   
Nota: la versión gratuita incluye todas las funciones de SafeKit. Al final del período de prueba, puede activar las claves de licencia permanentes sin desinstalar el paquete. 
  * Al completar la instalación del paquete, seleccione **Set console credentials and firewall rules now** y configure una contraseña para el usuario **admin** de la consola SafeKit.   
**Establezca la misma contraseña en todos los nodos.**
  * Excluya de los análisis antivirus **C:/safekit/** (el directorio de instalación predeterminado) y **todas las carpetas replicadas** que vaya a definir.   
Debido a su estrecha integración con el sistema operativo, algunos componentes de SafeKit pueden ser detectados por los antivirus, incluidos los mecanismos de IP virtual, la replicación en tiempo real y el reinicio de servicios críticos. 

<a class="btn-download" href="/es/resources/safekit-free-trial/">Descargar SafeKit (Windows) &gt;</a>

### Instalación del módulo en Windows

  * Descargue el módulo postgresql.safe. El módulo es gratuito. Contiene los archivos userconfig.xml y los scripts de reinicio.
  * Coloque **postgresql.safe** en **C:/safekit/Application_Modules/generic**.

<a class="btn-download" href="/wp-content/uploads/downloads_safekit/version-82/modules_windows/postgresql.safe" download="postgresql.safe">Descargar postgresql.safe (Windows) ></a> 

### Instalación del paquete en Linux

  * Instale la versión gratuita de SafeKit en 2 nodos Linux. Nota: la versión de prueba incluye todas las funciones de SafeKit. Al finalizar el período de prueba, puede activar licencias permanentes sin desinstalar el paquete.
  * Después de descargar el paquete `safekit_xx.bin`, ejecútelo para extraer el paquete RPM y el script `safekitinstall`. A continuación, ejecute el script **safekitinstall**.
  * Responda **sí** cuando se le pregunte si desea configurar el firewall automáticamente.
  * Establezca la contraseña de la consola web para el usuario predeterminado **admin**. **Use la misma contraseña en todos los nodos.**

<a class="btn-download" href="/es/resources/safekit-free-trial/">Descargar SafeKit (Linux) &gt;</a>

### Instalación del módulo en Linux

  * Descargue el módulo postgresql.safe.   
El módulo es gratuito. Contiene los archivos userconfig.xml y los scripts de reinicio. 
  * poner **postgresql.safe** bajo **/opt/safekit/Application_Modules/generic/**.

<a class="btn-download" href="/wp-content/uploads/downloads_safekit/version-82/modules_linux/postgresql.safe" download="postgresql.safe">Descargar postgresql.safe (Linux) &gt;</a> 

 

## Configuración paso a paso de la solución SafeKit/PostgreSQL {#step-by-step-configuration-of-the-safekit--postgresql-solution}

### Requisitos previos

  * Aplicación PostgreSQL instalada en 2 nodos.
  * El total de datos replicados se limita a unos pocos terabytes; más allá de esto, el tiempo de resincronización se vuelve significativo.
  * Interconexión mínima de 1 Gb/s entre nodos (se recomiendan 10 Gb/s para una resincronización más rápida).
  * La conmutación por error de IP requiere ambos nodos en el mismo LAN o LAN extendido (L2); las redes L3 enrutadas no son compatibles (excepto con los balanceadores de carga en la nube 🛠️ [](https://safekit.eviden.com/resources/safekit-user-guide-82/#Cloud)).

### 1. Inicie la consola SafeKit

  * Inicie la consola web en un navegador en un nodo del clúster conectándose a `http://localhost:9010`.
  * Ingrese `admin` como nombre de usuario y la contraseña definida durante la instalación.

También puede ejecutar la consola en un navegador en una estación de trabajo externa al clúster.

⚠️ La configuración de SafeKit se realiza en ambos nodos desde un único navegador.

ℹ️ Para proteger la consola web, consulte 🛠️ [11\. Asegurar el servicio web SafeKit](https://safekit.eviden.com/resources/safekit-user-guide-82/#https) en la Guía del usuario.

![Inicie la consola web SafeKit para configurar el clúster PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2024/03/01-login-large.png)

### 2. Configurar direcciones de nodo

  * Ingrese las direcciones del nodo IP, presione `Tab key` para verificar la conectividad y completar los nombres de los nodos. Si node1 o node2 tienen un color rojo, verifique la conectividad del navegador con ambos nodos y verifique el firewall en ambos nodos para 🛠️ [solución de problemas](https://safekit.eviden.com/resources/safekit-user-guide-82/#Troubleshooting).
  * Luego, haga clic en `Save and apply` para guardar la configuración.
  * Verifique el mensaje `Success` ✅ en ambos nodos.
  * Si la configuración `Failure` ❌ ocurre en un nodo, abra el acordeón ▼ para ese nodo y revise los mensajes. Tenga en cuenta que puede utilizar el SafeKit AI 🤖 para obtener ayuda.

ℹ️ Si lo deseas, puedes agregar un nuevo `LAN and nodes` (primero ➕) para crear un segundo latido y una red de replicación dedicada.

ℹ️ Si hace clic en `Advanced configuration`, se muestra el archivo `cluster.xml`. La consola completa automáticamente este archivo y lo implementa en los nodos.

![Ingrese los nodos del cluster PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2024/03/02-cluster-edit.png)

### 3. Seleccione un módulo

  * En `New module`, haga clic en el módulo `postgresql.safe`.

ℹ️ En el banner azul en la parte superior, 🛜 `node1` representa el nodo de conexión de la consola. Este nodo transmite solicitudes a `node2` cuando es necesario.

ℹ️ La consola busca `xxx.safe` en el directorio `Application_Modules/generic/` en el nodo de conexión (`node1`) si colocó un módulo allí durante la instalación.

![Elija el módulo para PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2024/03/04-module-new.png)

### 4. Configurar el módulo

  * En `Module startup at boot`, elija un inicio automático del módulo al arrancar sin demora.
  * En `Macros` / `SERVICES`, ingrese los nombres de los servicios de su aplicación, en el orden de inicio, separados por comas. Vea esta captura de pantalla para ver un ejemplo visual de los servicios [Milestone XProtect 🖼️](https://safekit.eviden.com/wp-content/uploads/2025/05/milestone-services.png).
  * En `Heartbeat networks`, debe tener una red de latido único en la que se realiza la replicación. Si agregó un LAN privado en el paso 2, puede configurar dos latidos con el flujo de replicación en el LAN privado.
  * En `Virtual IP addresses`, ingrese una dirección virtual IP. Una dirección IP virtual es una dirección IP estándar en la misma red IP (misma subred) que las direcciones IP de ambos nodos.  
Los clientes de aplicaciones deben configurarse con la dirección virtual IP (o el nombre DNS asociado con la dirección virtual IP).  
La dirección virtual IP se cambia automáticamente en caso de falla.
  * En `Replicated directories`, establezca las rutas de los directorios a replicar. Compruebe que existan en ambos nodos y contengan los datos de la aplicación.  
La replicación de datos y registros es esencial para una base de datos.  
Puede crear directorios replicados adicionales según sea necesario.  
Vea esta captura de pantalla para ver un ejemplo visual de la replicación de [Milestone XProtect SQL 🖼️](https://safekit.eviden.com/wp-content/uploads/2025/05/milestone-replication.png).
  * En `Checkers`, podrá configurar verificadores si es necesario, como monitoreo de procesos, verificadores personalizados, TCP, ping o verificadores de cerebro dividido.  
Por ejemplo, si se muestra un nombre de proceso en `Monitored processes/services`, se monitoreará con una acción de reinicio en caso de falla. Configurar un nombre de proceso incorrecto hará que el módulo se detenga inmediatamente después de su inicio.

ℹ️ Si hace clic en `Advanced configuration`, se muestra el archivo `userconfig.xml`. La consola completa automáticamente este archivo y lo implementa en los nodos con los scripts de reinicio.

ℹ️ En una implementación en la nube, no es necesario configurar una dirección IP virtual en SafeKit. El IP virtual se administra en el nivel del balanceador de carga de la nube 🛠️ [](https://safekit.eviden.com/resources/safekit-user-guide-82/#Cloud).

ℹ️ Cuando aplicas la configuración SafeKit, el `startup type` de servicios se establece automáticamente en `Manual` en los servicios Windows. Esto garantiza que los servicios no se inicien automáticamente cuando se inicia el sistema, sino que se inicien solo cuando se inicia el módulo (lo mismo se aplica en Linux).

![Ingrese la configuración del módulo PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2025/05/05-module-mirror-edit-config-3.png)

### 5. Editar guiones (opcional)

  * Este paso es opcional y se puede omitir en la mayoría de los casos, ya que los scripts de reinicio ya están preconfigurados para reiniciar los servicios definidos en el paso anterior.
  * Entonces, haga clic directamente en `Next step`.
  * `start_prim.ps1` inicia todos los servicios en el orden especificado en la lista `SERVICES`, mientras que `stop_prim.ps1` detiene todos los servicios en orden inverso.
  * Además, `start_prim.ps1` verifica el inicio de cada servicio y detiene el módulo si algún servicio no se inicia correctamente.

![Ingrese la configuración del módulo PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2026/09/28-module-edit-script.png)

### 6. Cifrado de comunicación (opcional)

  * Mantener el cifrado de la comunicación entre nodos.

![Cifrado de comunicación del módulo PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2025/05/07-module-encryption-1.png)

### 7. Guardar y aplicar

  * `Save and apply` la configuración y los scripts en ambos nodos.

![Guarde y aplique la configuración del módulo PostgreSQL.](https://safekit.eviden.com/wp-content/uploads/2025/05/08-module-save-1.png)

### 8. Verificar la configuración exitosa

  * Verifique el mensaje `Success` ✅ en ambos nodos y haga clic en `Monitor modules`.
  * Si la configuración `Failure` ❌ ocurre en un nodo, abra el acordeón ▼ para ese nodo y revise los mensajes. Tenga en cuenta que puede utilizar el SafeKit AI 🤖 para obtener ayuda.

⚠️ En Linux, es posible que obtenga un error en este paso si los directorios replicados son puntos de montaje.🛠️ [Consulte SK-0030 para resolver el problema](https://github.com/FR-LES-SAFEKIT-DEV/safekit-packages/releases/download/v8.2/SafeKit_8.2_Knowledge_Base.pdf).

![Verifique el éxito de la configuración del módulo PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2025/05/09-module-save-check-1.png)

### 9. Inicie el nodo con datos actualizados.

  * Si el nodo 1 tiene los directorios replicados actualizados, selecciónelo y ⋯ `Force start` ▶ `As primary`.

Cuando se inicie el nodo 2, todos los datos se copiarán del nodo 1 al nodo 2.

⚠️ Si tomas la decisión equivocada, corres el riesgo de sincronizar datos obsoletos en ambos nodos.

⚠️ También se supone que la aplicación PostgreSQL se detiene en el nodo 1 para que SafeKit instale los mecanismos de replicación y luego inicie la aplicación en el script `start_prim`.

⚠️ Utilice `Start` para inicios posteriores: SafeKit conserva el servidor más actualizado. El arranque del `As primary` es un arranque especial la primera vez o durante operaciones excepcionales.

![Iniciar como primario el nodo PostgreSQL con los datos actualizados](https://safekit.eviden.com/wp-content/uploads/2024/03/10-monitoring-mirror-stop-stop-prim.png)

### 10. Espere la transición a ALONE (verde)

  * El nodo 1 debe alcanzar el estado ALONE (verde), lo que significa que el IP virtual está configurado y que el script `start_prim` se ha ejecutado en el nodo 1.

⚠️ Si no se llega a ALONE (verde) o si no se inicia la aplicación, analice el motivo con el log del módulo [ 🖼️](https://safekit.eviden.com/wp-content/uploads/2024/03/24-module-log-script.png) del nodo 1.

  * Haga clic en el ícono 🔍 **log** de `node1` para abrir el registro del módulo y buscar mensajes de error, como un verificador que detecta un error y detiene el módulo.
  * Haga clic en `start_prim` en el registro: los mensajes de salida del script se muestran a la derecha y se pueden detectar errores, como un servicio iniciado incorrectamente.
  * Utilice SafeKit AI 🤖 para obtener ayuda con los mensajes de registro.

⚠️ Si el clúster está en el estado `WAIT (red) not uptodate, STOP (red) not uptodate`, detenga el nodo WAIT y [ fuerce su inicio como primario 🖼️](https://safekit.eviden.com/wp-content/uploads/2024/03/10-monitoring-mirror-stop-stop-prim.png).

![El primer nodo PostgreSQL comienza como primario y se convierte en ALONE.](https://safekit.eviden.com/wp-content/uploads/2024/03/12-monitoring-alone-stop.png)

### 11. Iniciar el nodo 2

  * ⋯ `Start` nodo 2 con su menú contextual.
  * Espere al estado SECOND (verde).

ℹ️ El nodo 2 permanece en el estado SECOND (naranja) mientras resincroniza los directorios replicados (copia del nodo 1 al nodo 2).

  * Esto puede tardar un poco dependiendo del tamaño de los archivos que se van a resincronizar en los directorios replicados y del ancho de banda de la red.
  * Para ver el progreso de la copia, consulte el registro del módulo [ 🖼️](https://safekit.eviden.com/wp-content/uploads/2024/03/27-module-log-reintegration.png) y los recursos de replicación [ 🖼️](https://safekit.eviden.com/wp-content/uploads/2024/03/26-replication-resources-reintegration.png) del nodo 2. Utilice el SafeKit AI 🤖 para obtener ayuda con los mensajes de registro.

![Inicie el nodo 2 PostgreSQL](https://safekit.eviden.com/wp-content/uploads/2024/03/13-monitoring-alone-stop-start.png)

### 12. Verificar que el clúster esté operativo.

  * Verifique que el clúster esté verde/verde con los servicios PostgreSQL ejecutándose en el nodo PRIM y no ejecutándose en el nodo SECOND.

En este estado, solo los cambios dentro de los archivos se replican en tiempo real.

⚠️ Los componentes que sean clientes de los servicios PostgreSQL deben configurarse con la dirección virtual IP. La configuración se puede realizar con un nombre DNS (si se ha creado un nombre DNS y asociado a la dirección virtual IP).

![El nodo 2 PostgreSQL es SECOND (verde)](https://safekit.eviden.com/wp-content/uploads/2024/03/14-monitoring-prim-second.png)

### 13. Pruebas

  * Detenga el nodo PRIM desplazándose hacia abajo en su menú contextual y haciendo clic en `Stop`.
  * Verifique que haya una conmutación por error en el nodo SECOND, que debería convertirse en ALONE (verde).
  * Y con Microsoft Management Console (MMC) en Windows o con líneas de comando en Linux, verifique la conmutación por error de los servicios PostgreSQL (detenidos en el nodo 1 en el script `stop_prim` e iniciados en el nodo 2 en el script `start_prim`).

⚠️ Si no se alcanza ALONE (verde) en node2 o si no se inicia la aplicación, analice el motivo con el log del módulo [ 🖼️](https://safekit.eviden.com/wp-content/uploads/2024/03/38-module-log-script-second.png) del nodo 2.

  * Haga clic en el ícono 🔍 **log** de `node2` para abrir el registro del módulo y buscar mensajes de error, como un verificador que detecta un error y detiene el módulo.
  * Haga clic en `start_prim` en el registro: los mensajes de salida del script se muestran a la derecha y se pueden detectar errores, como un servicio iniciado incorrectamente.
  * Utilice SafeKit AI 🤖 para obtener ayuda con los mensajes de registro.

⚠️ 

  * Si todo está bien, inicie node1, lo que resincronizará los directorios replicados desde node2.
  * Si algo sale mal, detenga node2 y [ y fuerce el inicio como 🖼️](https://safekit.eviden.com/wp-content/uploads/2024/03/10-monitoring-mirror-stop-stop-prim.png) principal de node1, que se reiniciará con sus datos localmente saludables en el momento de la parada.

ℹ️ Encuentra más detalles, junto con vídeos, en la Formación Online [SafeKit](https://safekit.eviden.com/resources/safekit-on-line-training/).

![Detenga el módulo PostgreSQL en el servidor PRIM](https://safekit.eviden.com/wp-content/uploads/2024/03/16-monitoring-prim-second-stop.png)

### 14. Apoyo

  * Para obtener soporte, tome 2 SafeKit `Snapshots` (2 archivos .zip), uno para cada nodo.

ℹ️ [Más información sobre el soporte aquí](https://safekit.eviden.com/resources/safekit-support/).

![Tome las instantáneas de PostgreSQL como soporte](https://safekit.eviden.com/wp-content/uploads/2024/03/30-snapshots-mirror.png)

 

## Demostración de la solución de espejo SafeKit {#demonstration-of-the-safekit-mirror-solution}

### Vídeo de SafeKit: agrupación en clústeres a nivel de aplicación (8:47) {#demo-mirror-ha-cluster}

En este vídeo, descubra cómo SafeKit implementa un clúster espejo HA sin la complejidad de una SAN. Si bien esta demostración utiliza Microsoft SQL Server, la solución funciona de manera idéntica para otras bases de datos y aplicaciones.

### Capítulos

  1. 🎬 [2 nodos con SQL Server](https://www.youtube.com/watch?v=mGwEguDnnH0&t=0s) (0:32)
  2. 🎬 [Configure el clúster y el módulo mirror.safe](https://www.youtube.com/watch?v=mGwEguDnnH0&t=32s) (3:58)
  3. 🎬 [Iniciar y probar la replicación, migración y conmutación por error de SQL en caso de falla](https://www.youtube.com/watch?v=mGwEguDnnH0&t=270s) (4:17)

### Implementación paso a paso

  * 🛠️ [Lea la guía sobre cómo configurar un clúster reflejado en Windows](https://safekit.eviden.com/quick-install/safekit-quick-installation-guide-for-a-new-windows-application-with-real-time-replication-and-failover/)
  * 🛠️ [Lea la guía sobre cómo configurar un clúster reflejado en Linux](https://safekit.eviden.com/quick-install/safekit-quick-installation-guide-for-a-new-linux-application-with-real-time-replication-and-failover/)

