Soporte para extraer un informe utilizando el plugin Data Explorer

Estimados todos,

Necesito su apoyo para ejecutar un código SQL que permita ver los tamaños de cada categoría para hacer un seguimiento periódico y asegurar que la categoría no exceda el tamaño acordado por los moderadores.

Ejecutamos el siguiente código, pero el resultado se muestra en bytes y necesitamos que se muestre en GB o MB.

-- Consulta para estimar el tamaño de los datos por categoría en MB y GB
SELECT 
    c.id AS category_id,
    c.name AS category_name,
    COUNT(DISTINCT t.id) AS topics_count,
    COUNT(p.id) AS posts_count,
    ROUND(SUM(LENGTH(p.raw)) / 1024 / 1024, 2) AS total_text_size_mb,
    ROUND(SUM(LENGTH(p.raw)) / 1024 / 1024 / 1024, 4) AS total_text_size_gb,
    ROUND(COALESCE(SUM(u.filesize), 0) / 1024 / 1024, 2) AS total_uploads_size_mb,
    ROUND(COALESCE(SUM(u.filesize), 0) / 1024 / 1024 / 1024, 4) AS total_uploads_size_gb,
    ROUND((COALESCE(SUM(u.filesize), 0) + SUM(LENGTH(p.raw))) / 1024 / 1024, 2) AS total_category_size_mb,
    ROUND((COALESCE(SUM(u.filesize), 0) + SUM(LENGTH(p.raw))) / 1024 / 1024 / 1024, 4) AS total_category_size_gb
FROM 
    categories c
LEFT JOIN 
    topics t ON t.category_id = c.id
LEFT JOIN 
    posts p ON p.topic_id = t.id
LEFT JOIN 
    post_custom_fields pcf ON pcf.post_id = p.id AND pcf.name = 'uploads'
LEFT JOIN 
    uploads u ON u.id = pcf.value::int
WHERE 
    c.id > 0 -- Excluir categorías del sistema
    AND t.deleted_at IS NULL -- Excluir temas eliminados
    AND p.deleted_at IS NULL -- Excluir publicaciones eliminadas
GROUP BY 
    c.id, c.name
ORDER BY 
    total_category_size_mb DESC

Necesito su apoyo para mostrarlo en el siguiente formato:

Creo que solo necesitas cambiar los cálculos para que reflejen tus unidades. Por ejemplo, para GB

-- Consulta para estimar el tamaño de los datos por cada categoría en GB
SELECT 
    c.id AS category_id,
    c.name AS category_name,
    COUNT(DISTINCT t.id) AS topics_count,
    COUNT(p.id) AS posts_count,
    ROUND(SUM(LENGTH(p.raw)) / 1024 / 1024 / 1024, 4) AS total_text_size_gb,
    ROUND(COALESCE(SUM(u.filesize), 0) / 1024 / 1024 / 1024, 4) AS total_uploads_size_gb,
    ROUND((COALESCE(SUM(u.filesize), 0) + SUM(LENGTH(p.raw))) / 1024 / 1024 / 1024, 4) AS total_category_size_gb
FROM 
    categories c
LEFT JOIN 
    topics t ON t.category_id = c.id
LEFT JOIN 
    posts p ON p.topic_id = t.id
LEFT JOIN 
    post_custom_fields pcf ON pcf.post_id = p.id AND pcf.name = 'uploads'
LEFT JOIN 
    uploads u ON u.id = pcf.value::int
WHERE 
    c.id > 0 -- Excluir categorías del sistema
    AND t.deleted_at IS NULL -- Excluir temas eliminados
    AND p.deleted_at IS NULL -- Excluir publicaciones eliminadas
GROUP BY 
    c.id, c.name
ORDER BY 
    total_category_size_gb DESC
1 me gusta

Entendido, ¡gracias!

[cita=“Lilly, post:2, topic:338040”]
para GB
[/cita]

Pregunta de nivel muy básico… el mío muestra prácticamente cero tamaños. ¿Eso vendrá del uso de S3 o las imágenes no se cuentan como una carga? Claro, esos son relativamente pequeños, al igual que algunos PDF y libros electrónicos, pero aún así deberían ser mayores a 0.001 GB.