Tamaño de la base de datos de Postgres mucho más grande que los espacios de tabla en el sistema de archivos
-
30-10-2019 - |
Pregunta
Tengo una instancia de Postgres 8.3 con espacios de tabla con un total de aproximadamente 74 g. Esto esta bien.
Pero si le pregunto a Postgres cuán grande es mi base de datos, obtengo una respuesta (inesperada) grande: 595 GB.
Esto parece muy extraño. Las pruebas de E/S de disco en el sistema están en el rango 'normal', pero las consultas son más lentas de lo que solían ser.
¿Es esta corrupción de la base de datos? ¿O hay formas de 'arreglar' esta rareza?
Editar] reviso el tamaño del espacio de tabla por el sistema operativo:
/usr/local/pgsql/data/tblspaces/du -c -h
74G total
Todos los espacios de tabla están ahí
Verifique el tamaño de la base de datos de TE así:
select pg_size_pretty(pg_database_size('database'))
Edit2
También verifiqué todo el/usr/local/pgsql/dir. Es 76 g
Y ejecuté esta consulta:
select
tablename
, pg_relation_size(tablename)
, pg_size_pretty(pg_relation_size(tablename) ) as relsize
, pg_size_pretty(pg_total_relation_size(tablename) ) as disksize
, pg_total_relation_size(tablename)
from pg_tables where schemaname <> 'information_schema'
order by 2 desc
Que devolvió las relaciones 'normales', ninguno de los cuales excedió los discos.
No hay solución correcta