Dimensione del database di Postgres molto più grande dei tablespaces sul filesystem
-
30-10-2019 - |
Domanda
Ho un'istanza di Postgres 8.3 con tablespace per un totale di circa 74 g. Questo va bene.
Ma se chiedo a Postgres quanto è grande il mio database, ottengo una risposta (inaspettata) grande: 595 GB.
Questo sembra molto strano. I test I/O del disco sul sistema sono nell'intervallo "normale", ma le query sono più lente di una volta.
Questa corruzione del database è? O ci sono modi per "riparare" questa stranezza?
Modifica] Controllo la dimensione del tablespace dal sistema operativo:
/usr/local/pgsql/data/tblspaces/du -c -h
74G total
Tutti i tablespace sono presenti
Controllo le dimensioni del database TE in questo modo:
select pg_size_pretty(pg_database_size('database'))
EDIT2
Ho anche controllato l'intero/USR/Local/PGSQL/DIR. È 76 g
E ho eseguito questa domanda:
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
Che restituivano le relazioni "normali", nessuna delle quali superava la dischi.
Nessuna soluzione corretta