DAT-001DatosImportante
Crear el esquema observatorio con exportaciones agregadas nocturnas
- Dificultad
- Avanzada
- Estimación
- 3d
- Estado
- Abierta
- Habilidades
- postgrespg_cronprivacidad
Zona sensible. Toca permisos, datos personales, el mapa, secretos o la identidad de marca. Necesita revisión de la titular y conviene haber completado alguna tarea antes.
Contexto
El Observatorio (docs/observatorio/OBSERVATORIO.md §4.2) necesita series agregadas sin que ninguna fila individual salga de la base de datos. Hoy solo existen buzon_agregado y adhesiones_total, que son vistas vivas sin historia. Sin esta capa no se puede responder a ninguna pregunta de investigación ni hacer el informe trimestral.
Qué hacer
- Crear un esquema
observatoriosin acceso desde la API (revoke all on schema observatorio from anon, authenticated). - Crear tablas agregadas:
obs_buzon_mes(tipo, tema, comunidad, mes, envios),obs_adhesiones_mes(comunidad, mes, n),obs_comunidad_mes(foro, mes, hilos, comentarios, reacciones por tipo, hilos con al menos 3 autoras distintas),obs_moderacion_mes(tabla, decisión, mes, n, mediana de horas hasta decidir). - Escribir
observatorio.exportar_dia(fecha date)(security definer, idempotente) que calcule el día anterior y acote la contribución de cada persona (como mucho 1 hilo y 5 comentarios por persona, foro y día cuentan). - Marcar las celdas con menos de 10 como suprimidas (columna
suprimida boolean) en vez de borrarlas, para que la publicación decida. - Documentar en un comentario cómo programarla con pg_cron a las 03:30 de Madrid y crear un rol
observatorio_lectorque solo pueda leer este esquema.
Criterios de aceptación
Con la clave anon no se puede leer ninguna tabla de
observatorioNinguna tabla del esquema tiene
user_id, texto libre ni coordenadasEjecutar la exportación dos veces para el mismo día no duplica filas
El rol
observatorio_lectorno puede leerbuzon,hilosniauditoriaHay una prueba con datos sintéticos que comprueba la supresión por debajo de 10
¿Te la quedas?
- 1. Haz un fork y crea la rama
tarea/DAT-001-crear-el-esquema-observatorio-con-export. - 2. En tareas/datos/DAT-001-crear-el-esquema-observatorio-con-exportaciones.md, cambia la cabecera:
estado: reservada asignada: tu_usuario_de_github
- 3. Abre un PR con ese cambio (commit firmado:
git commit -s). Al fusionarse, es tuya durante 14 días.