Frank Lanitz <frank@frank.uvena.de> writes: > Am 06.06.2012 17:49, schrieb Tom Lane:
>> For me, pg_database_size gives numbers that match up fairly well with >> what "du" says. I would not expect an exact match, since du probably >> knows about filesystem overhead (such as metadata) whereas >> pg_database_size does not. Something's fishy if it's off by any large >> factor, though. Perhaps you have some tables in a nondefault >> tablespace, where du isn't seeing them?
> Nope. Its a pretty much clean database without any fancy stuff.
Peculiar. If you want to put some time into it, you could try comparing sizes table-by-table to see if you can isolate where the discrepancy is.
Perhaps with the contrib adminpack you may easily find where it comes from comparing size from pg_table_size and pg_stat_file ?
The only reason I can think of for du to report a size smaller than the nominal file length (which is which the pg_xxx_size functions look at) is if the file contains unallocated "holes". That really shouldn't ever happen with PG tables though.