Todos los artículos

Continuidad e infraestructura

Ensaya PostgreSQL hasta recuperar una aplicación utilizable

Un ensayo de recuperación necesita una aplicación que pueda hacer el trabajo acordado con los datos y permisos esperados. Diseña ese resultado antes de restaurar: te permitirá identificar qué cubre la copia, cuánto se tarda y qué dependencia sigue pendiente.

Equipo editorial de KIURO · Publicado: · Revisado:

Escribe los objetivos y qué reloj vas a medir

Define tu RPO, la pérdida máxima de datos tolerable expresada en tiempo, y tu RTO, el plazo objetivo para recuperar el servicio. Son objetivos de tu organización, no cifras que este artículo pueda asignar. Después decide cómo comprobarás la última operación recuperada y el momento en que la aplicación vuelve a ser utilizable.

Registra el instante de la copia, su procedencia y el alcance conocido. Conserva referencias de integridad y el inventario de versiones, extensiones y configuraciones necesarias. Si no puedes identificar una dependencia, marca ese punto antes del ensayo en lugar de asumir que el archivo la contiene.

pg_dump trabaja por base y no incluye roles ni tablespaces globales; la guía distingue pg_dumpall para el conjunto del cluster. El texto SQL se restaura con psql; los archivos no textuales, con pg_restore. Comprueba el formato y alcance de la copia disponible. (PostgreSQL Global Development Group)

El destino del ensayo debe estar separado

Utiliza un entorno desechable de confianza, distinto de producción, con acceso autorizado. Aísla las conexiones que podrían enviar correo, cobrar, notificar o ejecutar tareas externas. Revisa también procesos programados y credenciales de la aplicación; recuperar datos no debería activar comunicaciones reales durante la comprobación.

Restaurar puede ejecutar código elegido por superusuarios del origen: revisa la confianza y el material antes. En pg_restore, --single-transaction implica --exit-on-error y es incompatible con trabajos paralelos. No combines opciones por costumbre ni uses una limpieza automática contra producción. (PostgreSQL Global Development Group)

Como inspección ilustrativa de un archivo compatible, el comando siguiente lista su contenido sin indicar una base de destino. No se ha ejecutado aquí y el listado, por sí solo, no demuestra que la aplicación pueda recuperarse.

pg_restore --list copia-ejemplo.dump

Prepara las evidencias que debe producir la restauración

Ficha de ensayo propuesta
ÁreaQué comprobarResultado
AlcanceBase, esquema y elementos esperadosPendiente
IdentidadesRoles, propietarios y permisos necesariosPendiente
DependenciasExtensiones y configuración de aplicaciónPendiente
DatosRegistros e invariantes de negocio acordadosPendiente
AplicaciónConsulta y operación representativasPendiente
TiempoÚltimo dato recuperado y servicio utilizablePendiente

Elige invariantes que el equipo entienda. Por ejemplo, en una aplicación hipotética, una referencia conocida debe localizarse y sus registros relacionados deben corresponder. Añade una comprobación con el usuario de aplicación previsto, no solo con una cuenta administrativa. Este ejemplo no es un resultado de cliente.

Conserva salida y errores del proceso. Si falta un objeto o una operación no puede ejecutarse, registra la causa y su efecto sobre el objetivo del ensayo. No cierres la recuperación solo porque terminó un comando: compara las evidencias definidas al principio.

Si necesitas volver a un instante concreto, revisa otra estrategia

La documentación de PITR combina una copia física adecuada con una secuencia archivada de WAL. Los dumps lógicos de pg_dump y pg_dumpall no contienen lo necesario para replay de WAL. El ensayo lógico descrito no acredita recuperación a cualquier instante. (PostgreSQL Global Development Group)

Esa diferencia puede cambiar qué se debe conservar y ensayar. Si el objetivo requiere un punto temporal concreto, asigna el diseño y la comprobación de esa estrategia antes de prometerlo. No deduzcas la cobertura a partir de la frecuencia con que aparece un archivo de copia.

Acepta, retén o repite con una causa registrada

Al terminar, compara el último dato recuperado y el tiempo de servicio utilizable con tus objetivos. Revisa los resultados de aplicación, permisos y dependencias con sus responsables. Una comprobación pendiente necesita una decisión explícita: aceptar el límite, corregir y repetir o cambiar la estrategia.

PostgreSQL se distribuye bajo la PostgreSQL License. Eso no incluye por sí solo almacenamiento, servicio gestionado, trabajo de recuperación o permisos sobre los datos. Este artículo no ejecuta una restauración ni estima tiempos o ahorros para tu sistema. (PostgreSQL Global Development Group)

La entrega útil es el registro del ensayo con copia identificada, entorno, pasos, evidencias, diferencias y responsables. Una vez acordado, el equipo puede repetirlo cuando cambien dependencias importantes y convertir la recuperación en una capacidad comprobable.

Fuentes

Privacidad y analítica

Con tu permiso, Kiuro utiliza Google Analytics 4 para analizar visitas e interacciones, como navegar entre páginas, profundidad de lectura, proyectos, clics de contacto e inicio y envío correcto del formulario. Google también procesa datos de navegador, dispositivo y ubicación aproximada. El proveedor es Google Ireland Limited, en Irlanda; también puede existir tratamiento por Google LLC en Estados Unidos.

No enviamos tu nombre, email ni el contenido de tus mensajes. El almacenamiento publicitario, la publicidad personalizada y Google Signals están desactivados. Google Analytics no se carga antes de tu aceptación.

Tras aceptar, el registro temporal de navegación de esta pestaña es válido durante 30 segundos y se consume al llegar al destino. Tu elección se guarda durante seis meses en este navegador. Las cookies de analítica también se configuran para caducar a los seis meses. Puedes cambiar tu decisión en cualquier momento; rechazar detiene la medición y elimina las cookies de Analytics accesibles de esta web.

Las preferencias de tema claro u oscuro y de animaciones se guardan por separado en tu dispositivo. Contacto: hello@kiuro.ch.