La taille de la base de données Postgres est beaucoup plus grande que les espaces de table sur le système de fichiers

StackOverflow https://stackoverflow.com/questions/7412726

  •  30-10-2019
  •  | 
  •  

Question

J'ai une instance Postgres 8.3 avec des espaces de table totalisant environ 74 g. C'est bon.

Mais si je demande à Postgres de la taille de ma base de données, j'obtiens une grande réponse (inattendue): 595 Go.

Cela semble très étrange. Les tests d'E / S de disque sur le système sont dans la plage «normale», mais les requêtes sont plus lentes qu'auparavant.

Est-ce que cette corruption de la base de données? Ou y a-t-il des moyens de «réparer» cette bizarrerie?

Modifier] Je vérifie la taille de l'espace de table par le système d'exploitation:

/usr/local/pgsql/data/tblspaces/du -c -h
74G total 

Tous les espaces de table sont là

Je vérifie la taille de la base de données TE comme ceci:

select pg_size_pretty(pg_database_size('database')) 

Edit2

J'ai également vérifié l'intégralité / usr / local / pgsql / dir. C'est 76 g

Et j'ai dirigé cette requête:

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

Qui a renvoyé les relations «normales», dont aucune ne dépassait la disksize.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top