Daniel Farina <daniel@fdr.io> writes:
> I am looking at a database with a wide (~500G) divergence between the total
> space expended by the database directory and the result of select
> sum(pg_relation_size(oid)) from pg_class;.
Odd.
> I located about 280G of apparent extra space by performing an anti-join
> between files on disk and files in the catalog via the pg_class.relfilenode
> field.
Umm ... are you accounting for catalogs that have zeroes in
pg_class.relfilenode? It's generally better to rely on the
pg_relation_filenode(oid) function than the raw column contents.
regards, tom lane