Saltar al contenido principal

Respaldos y restauración

TBD

Política de respaldos (frecuencia, retención, ubicación, cifrado) pendiente de definir.

Los respaldos reemplazan a los botones de copia de seguridad del escritorio y son responsabilidad de la plataforma.

Qué hay que respaldar​

Todos los datos viven en el servicio PostgreSQL de Dokploy (base ganadero). Este manual y la aplicación web son estáticos y se reconstruyen desde Git.

Esquema previsto​

  • Volcado periódico con pg_dump (o instantáneas del proveedor) del esquema completo.
  • Retención diaria y mensual; copia fuera del servidor.
  • Respaldo adicional antes de cada migración en producción.

Restauración (ejemplo)​

Volcados y restauraciones se hacen con el usuario administrador del PostgreSQL de Dokploy, el mismo de la DATABASE_URL (como sus Backups): un rol sin privilegios, como ganadero_app, no puede volcar tablas con FORCE ROW LEVEL SECURITY (pg_dump desactiva row_security y falla si una política filtraría filas).

pg_dump -Fc -d "postgres://<usuario-admin>:<clave>@<host>:5432/<base>" -f respaldo.dump
pg_restore --clean --if-exists -d "postgres://<usuario-admin>:<clave>@<host>:5432/<base>" respaldo.dump

El volcado incluye los permisos otorgados a ganadero_app, pero los roles pertenecen al servidor y no a la base. Para restaurar en un PostgreSQL nuevo, despliegue primero la API contra él (el servicio migrate crea ganadero_app y el esquema) y luego restaure con --clean --if-exists. Tras restaurar, redespliegue (o vuelva a ejecutar migrate) para confirmar que el rol y su membresía están en su sitio; la API verifica al arrancar que puede ejecutar sus consultas como ganadero_app.

Si usa la opción avanzada de dos roles, agregue --no-owner --role=ganadero a pg_restore para que los objetos restaurados pertenezcan al dueño ganadero.

Pruebe la restauración periódicamente en un entorno aparte. Al restaurar, un respaldo es de toda la base: recuperar una sola organización requiere un procedimiento específico (TBD).