The last modification date on that directory (../12/) appears to be around a month ago, When the table with relied 16385 was in fact dropped.
Now, In my update scripts (I use this db as an OLAP) I occasionally run VACUUM.
Is it weird that the 886GB space hasn’t been returned to the OS yet?
What’s the safest way to return it to the OS manually?
When you use hardlinks in the upgrade all the files remain in the old directory when they are removed from the new one such as when you drop a relation. it is there for emergency recoveries. It's only the contents of the files that's "mirrored", not the existance.
It looks like you didn't actually delete the old cluster, which you are supposed to do once you have verified that the new one works. This looks like a debian/ubuntu system, which means you probably forgot to run "pg_dropcluster 12 main"? Or if it's not a debian cluster, the equivalent of that which results in
Ah, you’re right
pg_dropcluster 12 main && systemctl daemon-reload
worked fine.
Thanks.
removing the data directory for 12 along with any configuration files it has elsewhere.