Daniel Farina <daniel@xxxxxx> writes: > On Tue, Jan 16, 2018 at 3:04 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote: >> 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. > Yeah, the catalogs are not considered here (oids < 10000). The oids in > question are rather high. Let me re-run the antijoin with the function > though.... > Indeed, same result. Hmm, you should have gotten a result that was different by the size of the bootstrap catalogs (pg_class, pg_attribute, pg_proc, pg_type, plus their indexes). I'm worried that you're going to accidentally delete those critical catalogs. However, assuming you've gotten that detail right, then any file you can't match up with a relfilenode value must be an orphan you can just "rm". Do you have any theories about how the DB got like this? Were there system crashes or anything like that recently? Is there any pattern to the file access or mod dates on the putatively-orphaned files? regards, tom lane